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