2 This file contains the major changes between
7 * fixed regex code on win32
8 * fixed memory leak in choice rule generation
10 * repo_add_conda: add flag to skip v2 packages
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
18 * check %_dbpath macro in rpmdb code
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
26 * do not ask the namespace callback for splitprovides when writing
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
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
41 * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
42 * new testcase_mangle_repo_names() function
43 * new solv_fmemopen() function
46 - added support for ed25519 signatures
48 * Support blacklisted packages in solver_findproblemrule()
49 * Support rules with multiple negative literals in choice rule
51 * Also detect rpmdb.sqlite in /usr/share/rpm
54 - fix solvable swapping messing up uninternalized idarrays
57 - conda: support packages.conda repositories
58 - conda: de-priorize track features
59 - allow win32 to build shared lib
61 * fix ruleinfo of complex dependencies returning the wrong origin
64 - ENABLE_RPMDB_LIBRPM is now the default
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
72 * new rpm_stat_database() function
73 * new rpm_hash_database_state() function
77 * support conda constrains dependencies
81 * support arch<->noarch package changes when creating patch
82 conflicts from the updateinfo data
83 * also support other rpm database types
85 * support for SOLVER_BLACKLIST jobs that block the installation
86 of matched packages unless they are directly selected by an
88 * libsolv now also parses the patch status in the updateinfo
90 * new solvable_matchessolvable() function
94 * fix updating of too many packages in focusbest mode
95 * fix handling of disabled installed packages in distupgrade
97 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
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
105 * bindings: add get_disabled_list() and set_disabled_list()
106 * bindings: add whatcontainsdep()
107 * bindings: make the selection filters return the self object
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
115 * allow building with swig-4.0.0
116 * lock jobs now take precedence over dup and forcebest jobs
118 * MSVC compilation support
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
125 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
126 pool.best_solvables() and selection.matchsolvable()
127 * experimental DISTTYPE_CONDA and REL_CONDA support
130 - selected bug fixes:
131 * fixed a couple of null pointer derefs and potential memory
133 * made disfavoring recommended packages work if strong recommends
135 * no longer disable infarch rules when they don't conflict with
138 * do favor evaluation before pruning allowing to (dis)favor
139 specific package versions
143 * do not autouninstall packages because of forcebest updates
145 * support rpm's new '^' version separator
146 * support set/get_considered_list in bindings
147 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
150 - fix nasty off-by-one error in repo_write
154 - incompatible API changes:
155 * bindings: Selection.flags is now an attribute
156 * repodata_lookup_num now works like the other lookup_num 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
171 - new configuration options:
172 * ENABLE_ZSTD_COMPRESSION: support zstd compression
173 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
175 * new repodata_set_kv() function
176 * new pool_solvable2id() inline function
177 * bindings: new str2dir, dir2str, add_dirstr repodata methods
179 * new repo2solv tool replacing the old shell script
183 * also look at suggests for package ordering
187 * new Selection.clone() method in the bindings
188 * new pool.parserpmrichdep() method in the bindings
191 - fixed bug that could make fileconflict detection very slow
195 - new configuration options:
196 * ENABLE_RPMDB_LIBRPM: use librpm to read the package
198 * ENABLE_RPMPKG_LIBRPM: use librpm to access information
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
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
220 * support for REL_WITHOUT and REL_UNLESS dependencies
221 * solver_get_recommendations available in bindings
225 * new pool_best_solvables() function
229 * allow building with libxml2 instead of libexpat
230 * better handing of "forcebest with uninstall"
231 * speed improvements for "name = md5sum" dependencies
234 - export solvable_matchesdep function, as we now
235 use it in the bindings
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
247 * new SOLVER_FLAG_FOCUS_BEST flag
249 Version 0.6.22, 0.6.23
250 - bug fix releases, no new features
254 * SOLVER_FAVOR and SOLVER_DISFAVOR job types
256 * selection_make_matchdepid
257 * pool_whatcontainsdep
258 * pool_parserpmrichdep
262 * filter Requires(pre,post) for installed packages
266 * SOLVER_ALLOWUNINSTALL job type
267 * ordercycle introspection
269 * transaction_order_get_cycle
270 * transaction_order_get_cycleids
280 * pool_ids2whatprovides
284 * much improved package choosing code
285 * new testcase dependency format
286 * alternatives introspection
288 * pool_deb_get_autoinstalled
289 * solver_alternative2str
290 * solver_alternatives_count
291 * solver_get_alternative
292 * solver_rule2pkgrule
297 * support yum style obsolete handling
301 repodata_stringify() now returns the string
303 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
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
311 * changed Datamatch results from methods to
313 * automatically delete the pool if the owner
314 object is freed (use the disown method to
315 get the old behavior).
317 * pool_add_userinstalled_jobs
318 * solver_get_userinstalled