1
2This file contains the major changes between
3libsolv versions:
4
5Version 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
12Version 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
19Version 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
31Version 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
41Version 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
52Version 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
60Version 0.7.13
61- fix solvable swapping messing up uninternalized idarrays
62
63Version 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
70Version 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
77Version 0.7.10
78- new features:
79  * new rpm_stat_database() function
80  * new rpm_hash_database_state() function
81
82Version 0.7.9
83- new features:
84  * support conda constrains dependencies
85
86Version 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
99Version 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
106Version 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
116Version 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
127Version 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
136Version 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
148Version 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
156Version 0.7.1
157- fix nasty off-by-one error in repo_write
158
159Version 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
177Version 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
188Version 0.6.34
189- new features:
190  * also look at suggests for package ordering
191
192Version 0.6.33
193- new features:
194  * new Selection.clone() method in the bindings
195  * new pool.parserpmrichdep() method in the bindings
196
197Version 0.6.32
198- fixed bug that could make fileconflict detection very slow
199  in some cases
200
201Version 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
217Version 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
225Version 0.6.29
226- new features:
227  * support for REL_WITHOUT and REL_UNLESS dependencies
228  * solver_get_recommendations available in bindings
229
230Version 0.6.28
231- new features:
232  * new pool_best_solvables() function
233
234Version 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
240Version 0.6.26
241- export solvable_matchesdep function, as we now
242  use it in the bindings
243
244Version 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
252Version 0.6.24
253- new features:
254  * new SOLVER_FLAG_FOCUS_BEST flag
255
256Version 0.6.22, 0.6.23
257- bug fix releases, no new features
258
259Version 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
267Version 0.6.20
268- new features:
269  * filter Requires(pre,post) for installed packages
270
271Version 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
279Version 0.6.12:
280- new features:
281  * tcl bindings
282- new functions:
283  * solv_chksum_cmp
284
285Version 0.6.11:
286- new functions:
287  * pool_ids2whatprovides
288
289Version 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
302Version 0.6.5:
303- new features:
304  * support yum style obsolete handling
305
306Version 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
312Version 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
327