2 This file contains the major changes between
7 * fix misparsing of '&' in attributes with libxml2
8 * choice rules: treat orphaned packages as newest
9 * fix compatibility with Python 3.10
11 * new SOLVER_EXCLUDEFROMWEAK job to ignore pkgs for weak dependencies
12 * support for environments in comps parser
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()
23 * fixed regex code on win32
24 * fixed memory leak in choice rule generation
26 * repo_add_conda: add flag to skip v2 packages
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
34 * check %_dbpath macro in rpmdb code
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
42 * do not ask the namespace callback for splitprovides when writing
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
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
57 * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
58 * new testcase_mangle_repo_names() function
59 * new solv_fmemopen() function
62 - added support for ed25519 signatures
64 * Support blacklisted packages in solver_findproblemrule()
65 * Support rules with multiple negative literals in choice rule
67 * Also detect rpmdb.sqlite in /usr/share/rpm
70 - fix solvable swapping messing up uninternalized idarrays
73 - conda: support packages.conda repositories
74 - conda: de-priorize track features
75 - allow win32 to build shared lib
77 * fix ruleinfo of complex dependencies returning the wrong origin
80 - ENABLE_RPMDB_LIBRPM is now the default
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
88 * new rpm_stat_database() function
89 * new rpm_hash_database_state() function
93 * support conda constrains dependencies
97 * support arch<->noarch package changes when creating patch
98 conflicts from the updateinfo data
99 * also support other rpm database types
101 * support for SOLVER_BLACKLIST jobs that block the installation
102 of matched packages unless they are directly selected by an
104 * libsolv now also parses the patch status in the updateinfo
106 * new solvable_matchessolvable() function
109 - selected bug fixes:
110 * fix updating of too many packages in focusbest mode
111 * fix handling of disabled installed packages in distupgrade
113 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
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
121 * bindings: add get_disabled_list() and set_disabled_list()
122 * bindings: add whatcontainsdep()
123 * bindings: make the selection filters return the self object
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
131 * allow building with swig-4.0.0
132 * lock jobs now take precedence over dup and forcebest jobs
134 * MSVC compilation support
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
141 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
142 pool.best_solvables() and selection.matchsolvable()
143 * experimental DISTTYPE_CONDA and REL_CONDA support
146 - selected bug fixes:
147 * fixed a couple of null pointer derefs and potential memory
149 * made disfavoring recommended packages work if strong recommends
151 * no longer disable infarch rules when they don't conflict with
154 * do favor evaluation before pruning allowing to (dis)favor
155 specific package versions
159 * do not autouninstall packages because of forcebest updates
161 * support rpm's new '^' version separator
162 * support set/get_considered_list in bindings
163 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
166 - fix nasty off-by-one error in repo_write
170 - incompatible API changes:
171 * bindings: Selection.flags is now an attribute
172 * repodata_lookup_num now works like the other lookup_num 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
187 - new configuration options:
188 * ENABLE_ZSTD_COMPRESSION: support zstd compression
189 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
191 * new repodata_set_kv() function
192 * new pool_solvable2id() inline function
193 * bindings: new str2dir, dir2str, add_dirstr repodata methods
195 * new repo2solv tool replacing the old shell script
199 * also look at suggests for package ordering
203 * new Selection.clone() method in the bindings
204 * new pool.parserpmrichdep() method in the bindings
207 - fixed bug that could make fileconflict detection very slow
211 - new configuration options:
212 * ENABLE_RPMDB_LIBRPM: use librpm to read the package
214 * ENABLE_RPMPKG_LIBRPM: use librpm to access information
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
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
236 * support for REL_WITHOUT and REL_UNLESS dependencies
237 * solver_get_recommendations available in bindings
241 * new pool_best_solvables() function
245 * allow building with libxml2 instead of libexpat
246 * better handing of "forcebest with uninstall"
247 * speed improvements for "name = md5sum" dependencies
250 - export solvable_matchesdep function, as we now
251 use it in the bindings
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
263 * new SOLVER_FLAG_FOCUS_BEST flag
265 Version 0.6.22, 0.6.23
266 - bug fix releases, no new features
270 * SOLVER_FAVOR and SOLVER_DISFAVOR job types
272 * selection_make_matchdepid
273 * pool_whatcontainsdep
274 * pool_parserpmrichdep
278 * filter Requires(pre,post) for installed packages
282 * SOLVER_ALLOWUNINSTALL job type
283 * ordercycle introspection
285 * transaction_order_get_cycle
286 * transaction_order_get_cycleids
296 * pool_ids2whatprovides
300 * much improved package choosing code
301 * new testcase dependency format
302 * alternatives introspection
304 * pool_deb_get_autoinstalled
305 * solver_alternative2str
306 * solver_alternatives_count
307 * solver_get_alternative
308 * solver_rule2pkgrule
313 * support yum style obsolete handling
317 repodata_stringify() now returns the string
319 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
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
327 * changed Datamatch results from methods to
329 * automatically delete the pool if the owner
330 object is freed (use the disown method to
331 get the old behavior).
333 * pool_add_userinstalled_jobs
334 * solver_get_userinstalled