Imported Upstream version 0.7.20
[platform/upstream/libsolv.git] / NEWS
1
2 This file contains the major changes between
3 libsolv versions:
4
5 Version 0.7.20
6 - selected bug fixes:
7   * fix misparsing of '&' in attributes with libxml2
8   * choice rules: treat orphaned packages as newest
9   * fix compatibility with Python 3.10
10 - new features:
11   * new SOLVER_EXCLUDEFROMWEAK job to ignore pkgs for weak dependencies
12   * support for environments in comps parser
13
14 Version 0.7.19
15 - selected bug fixes:
16   * fix rare segfault in resolve_jobrules() that could happen
17     if new rules are learnt
18   * fix a couple of memory leaks in error cases
19   * fix error handling in solv_xfopen_fd()
20
21 Version 0.7.18
22 - selected bug fixes:
23   * fixed regex code on win32
24   * fixed memory leak in choice rule generation
25 - new features:
26   * repo_add_conda: add flag to skip v2 packages
27
28 Version 0.7.17
29 - selected bug fixes:
30   * repo_write: fix handling of nested flexarray
31   * improve choicerule generation a bit more to cover more cases
32   * harden testcase parser against repos being added too late
33   * support python-3.10
34   * check %_dbpath macro in rpmdb code
35 - new features:
36   * handle default/visible/langonly attributes in comps parser
37   * support multiple collections in updateinfo parser
38   * add '-D' option in rpmdb2solv to set the dbpath
39
40 Version 0.7.16
41 - selected bug fixes:
42   * do not ask the namespace callback for splitprovides when writing
43     a testcase
44   * fix add_complex_recommends() selecting conflicted packages in
45     rare cases leading to crashes
46   * improve choicerule generation so that package updates are
47     prefered in more cases
48   * deal with missing repos in testcase_mangle_repo_names
49
50 Version 0.7.15
51 - selected bug fixes:
52   * fix deduceq2addedmap clearing bits outside of the map
53   * conda: feature depriorization first
54   * conda: fix startswith implementation
55   * move find_update_seeds() call in cleandeps calculation
56 - new features:
57   * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
58   * new testcase_mangle_repo_names() function
59   * new solv_fmemopen() function
60
61 Version 0.7.14
62 - added support for ed25519 signatures
63 - selected bug fixes:
64   * Support blacklisted packages in solver_findproblemrule()
65   * Support rules with multiple negative literals in choice rule
66     generation
67   * Also detect rpmdb.sqlite in /usr/share/rpm
68
69 Version 0.7.13
70 - fix solvable swapping messing up uninternalized idarrays
71
72 Version 0.7.12
73 - conda: support packages.conda repositories
74 - conda: de-priorize track features
75 - allow win32 to build shared lib
76 - selected bug fixes:
77   * fix ruleinfo of complex dependencies returning the wrong origin
78
79 Version 0.7.11
80 - ENABLE_RPMDB_LIBRPM is now the default
81 - selected bug fixes:
82   * fixed solv_zchunk decoding error if large chunks are used
83   * treat retracted pathes as irrelevant
84   * made add_update_target work with multiversion installs
85
86 Version 0.7.10
87 - new features:
88   * new rpm_stat_database() function
89   * new rpm_hash_database_state() function
90
91 Version 0.7.9
92 - new features:
93   * support conda constrains dependencies
94
95 Version 0.7.8
96 - selected bug fixes:
97   * support arch<->noarch package changes when creating patch
98     conflicts from the updateinfo data
99   * also support other rpm database types
100 - new features:
101   * support for SOLVER_BLACKLIST jobs that block the installation
102     of matched packages unless they are directly selected by an
103     SOLVER_INSTALL job
104   * libsolv now also parses the patch status in the updateinfo
105     parser
106   * new solvable_matchessolvable() function
107
108 Version 0.7.7
109 - selected bug fixes:
110   * fix updating of too many packages in focusbest mode
111   * fix handling of disabled installed packages in distupgrade
112 - new features
113   * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
114
115 Version 0.7.6
116 - selected bug fixes:
117   * fix repository priority handling for multiversion packages
118   * better support of inverval deps in pool_match_dep()
119   * support src rpms that have non-empty provides
120 - new features
121   * bindings: add get_disabled_list() and set_disabled_list()
122   * bindings: add whatcontainsdep()
123   * bindings: make the selection filters return the self object
124
125 Version 0.7.5
126 - selected bug fixes:
127   * fix favorq leaking between solver runs if the solver is reused
128   * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
129   * be more correct with multiversion packages that obsolete their
130     own name
131   * allow building with swig-4.0.0
132   * lock jobs now take precedence over dup and forcebest jobs
133 - new features
134   * MSVC compilation support
135
136 Version 0.7.4
137 - selected bug fixes:
138   * repo_add_rpmdb: do not copy bad solvables from the old solv file
139   * fix cleandeps updates not updating all packages
140 - new features:
141   * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
142     pool.best_solvables() and selection.matchsolvable()
143   * experimental DISTTYPE_CONDA and REL_CONDA support
144
145 Version 0.7.3
146 - selected bug fixes:
147   * fixed a couple of null pointer derefs and potential memory
148     leaks
149   * made disfavoring recommended packages work if strong recommends
150     is enabled
151   * no longer disable infarch rules when they don't conflict with
152     the job
153 - new features:
154   * do favor evaluation before pruning allowing to (dis)favor
155     specific package versions
156
157 Version 0.7.2
158 - bug fixes:
159   * do not autouninstall packages because of forcebest updates
160 - new features:
161   * support rpm's new '^' version separator
162   * support set/get_considered_list in bindings
163   * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
164
165 Version 0.7.1
166 - fix nasty off-by-one error in repo_write
167
168 Version 0.7.0
169 - soname bump to "1"
170 - incompatible API changes:
171   * bindings: Selection.flags is now an attribute
172   * repodata_lookup_num now works like the other lookup_num functions
173 - new functions:
174   * selection_make_matchsolvable
175   * selection_make_matchsolvablelist
176   * pool_whatmatchessolvable
177   * repodata_search_arrayelement
178   * repodata_lookup_kv_uninternalized
179   * repodata_search_uninternalized
180   * repodata_translate_dir
181 - new repowriter interface to write solv files allowing better
182   control over what gets written
183 - support for filtered file lists with a custom filter
184 - dropped support of (since a long time unused) REPOKEY_TYPE_U32
185
186 Version 0.6.35
187 - new configuration options:
188   * ENABLE_ZSTD_COMPRESSION: support zstd compression
189   * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
190 - new features:
191   * new repodata_set_kv() function
192   * new pool_solvable2id() inline function
193   * bindings: new str2dir, dir2str, add_dirstr repodata methods
194 - other changes
195   * new repo2solv tool replacing the old shell script
196
197 Version 0.6.34
198 - new features:
199   * also look at suggests for package ordering
200
201 Version 0.6.33
202 - new features:
203   * new Selection.clone() method in the bindings
204   * new pool.parserpmrichdep() method in the bindings
205
206 Version 0.6.32
207 - fixed bug that could make fileconflict detection very slow
208   in some cases
209
210 Version 0.6.31
211 - new configuration options:
212   * ENABLE_RPMDB_LIBRPM: use librpm to read the package
213     database
214   * ENABLE_RPMPKG_LIBRPM: use librpm to access information
215     from package headers
216 - new features:
217   * new pool_set_whatprovides function to manually change
218     the whatprovides data
219   * new selection_subtract function to remove packages of
220     one selection from another selection
221   * new selection flags SELECTION_FILTER,
222     SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH
223   * new map_invertall function to invert a bitmap
224   * new map_clr_at function to clear some bits
225
226 Version 0.6.30
227 - new features:
228   * many fixes and extenstions for cleandeps, e.g.
229     cleandeps now works for "update all packages"
230   * support debian packages with xz compressed control.tar
231   * always create dup rules for "distupgrade" jobs
232   * use recommends also for ordering packages
233
234 Version 0.6.29
235 - new features:
236   * support for REL_WITHOUT and REL_UNLESS dependencies
237   * solver_get_recommendations available in bindings
238
239 Version 0.6.28
240 - new features:
241   * new pool_best_solvables() function
242
243 Version 0.6.27
244 - new features:
245   * allow building with libxml2 instead of libexpat
246   * better handing of "forcebest with uninstall"
247   * speed improvements for "name = md5sum" dependencies
248
249 Version 0.6.26
250 - export solvable_matchesdep function, as we now
251   use it in the bindings
252
253 Version 0.6.25
254 - new features:
255   * new SOLVER_FLAG_STRONG_RECOMMENDS flag
256   * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag
257   * new matchesdep() method in bindings
258   * SOLVABLE_NAME selects nevr matching for
259     pool_whatmatchesdep and solvable_matchesdep
260  
261 Version 0.6.24
262 - new features:
263   * new SOLVER_FLAG_FOCUS_BEST flag
264
265 Version 0.6.22, 0.6.23
266 - bug fix releases, no new features
267
268 Version 0.6.21
269 - new features:
270   * SOLVER_FAVOR and SOLVER_DISFAVOR job types
271 - new functions:
272   * selection_make_matchdepid
273   * pool_whatcontainsdep
274   * pool_parserpmrichdep
275
276 Version 0.6.20
277 - new features:
278   * filter Requires(pre,post) for installed packages
279
280 Version 0.6.13:
281 - new features:
282   * SOLVER_ALLOWUNINSTALL job type
283   * ordercycle introspection
284 - new functions:
285   * transaction_order_get_cycle
286   * transaction_order_get_cycleids
287
288 Version 0.6.12:
289 - new features:
290   * tcl bindings
291 - new functions:
292   * solv_chksum_cmp
293
294 Version 0.6.11:
295 - new functions:
296   * pool_ids2whatprovides
297
298 Version 0.6.9:
299 - new features:
300   * much improved package choosing code
301   * new testcase dependency format
302   * alternatives introspection
303 - new functions:
304   * pool_deb_get_autoinstalled
305   * solver_alternative2str
306   * solver_alternatives_count
307   * solver_get_alternative
308   * solver_rule2pkgrule
309   * testcase_dep2str
310
311 Version 0.6.5:
312 - new features:
313   * support yum style obsolete handling
314
315 Version 0.6.1:
316 - API change:
317   repodata_stringify() now returns the string
318 - new features:
319   * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
320
321 Version 0.6.0:
322 - ABI change: cleaned up and reordered knownid.h
323 - added support for sha224/sha384/sha512
324 - API change in the bindings:
325   * dropped solvid arg from most Dataiterator
326     constructors
327   * changed Datamatch results from methods to
328     attributes
329   * automatically delete the pool if the owner
330     object is freed (use the disown method to
331     get the old behavior).
332 - new functions:
333   * pool_add_userinstalled_jobs
334   * solver_get_userinstalled
335