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