2 This file contains the major changes between
7 * repo_write: fix handling of nested flexarray
8 * improve choicerule generation a bit more to cover more cases
9 * harden testcase parser against repos being added too late
11 * check %_dbpath macro in rpmdb code
13 * handle default/visible/langonly attributes in comps parser
14 * support multiple collections in updateinfo parser
15 * add '-D' option in rpmdb2solv to set the dbpath
19 * do not ask the namespace callback for splitprovides when writing
21 * fix add_complex_recommends() selecting conflicted packages in
22 rare cases leading to crashes
23 * improve choicerule generation so that package updates are
24 prefered in more cases
25 * deal with missing repos in testcase_mangle_repo_names
29 * fix deduceq2addedmap clearing bits outside of the map
30 * conda: feature depriorization first
31 * conda: fix startswith implementation
32 * move find_update_seeds() call in cleandeps calculation
34 * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
35 * new testcase_mangle_repo_names() function
36 * new solv_fmemopen() function
39 - added support for ed25519 signatures
41 * Support blacklisted packages in solver_findproblemrule()
42 * Support rules with multiple negative literals in choice rule
44 * Also detect rpmdb.sqlite in /usr/share/rpm
47 - fix solvable swapping messing up uninternalized idarrays
50 - conda: support packages.conda repositories
51 - conda: de-priorize track features
52 - allow win32 to build shared lib
54 * fix ruleinfo of complex dependencies returning the wrong origin
57 - ENABLE_RPMDB_LIBRPM is now the default
59 * fixed solv_zchunk decoding error if large chunks are used
60 * treat retracted pathes as irrelevant
61 * made add_update_target work with multiversion installs
65 * new rpm_stat_database() function
66 * new rpm_hash_database_state() function
70 * support conda constrains dependencies
74 * support arch<->noarch package changes when creating patch
75 conflicts from the updateinfo data
76 * also support other rpm database types
78 * support for SOLVER_BLACKLIST jobs that block the installation
79 of matched packages unless they are directly selected by an
81 * libsolv now also parses the patch status in the updateinfo
83 * new solvable_matchessolvable() function
87 * fix updating of too many packages in focusbest mode
88 * fix handling of disabled installed packages in distupgrade
90 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
94 * fix repository priority handling for multiversion packages
95 * better support of inverval deps in pool_match_dep()
96 * support src rpms that have non-empty provides
98 * bindings: add get_disabled_list() and set_disabled_list()
99 * bindings: add whatcontainsdep()
100 * bindings: make the selection filters return the self object
103 - selected bug fixes:
104 * fix favorq leaking between solver runs if the solver is reused
105 * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
106 * be more correct with multiversion packages that obsolete their
108 * allow building with swig-4.0.0
109 * lock jobs now take precedence over dup and forcebest jobs
111 * MSVC compilation support
114 - selected bug fixes:
115 * repo_add_rpmdb: do not copy bad solvables from the old solv file
116 * fix cleandeps updates not updating all packages
118 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
119 pool.best_solvables() and selection.matchsolvable()
120 * experimental DISTTYPE_CONDA and REL_CONDA support
123 - selected bug fixes:
124 * fixed a couple of null pointer derefs and potential memory
126 * made disfavoring recommended packages work if strong recommends
128 * no longer disable infarch rules when they don't conflict with
131 * do favor evaluation before pruning allowing to (dis)favor
132 specific package versions
136 * do not autouninstall packages because of forcebest updates
138 * support rpm's new '^' version separator
139 * support set/get_considered_list in bindings
140 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
143 - fix nasty off-by-one error in repo_write
147 - incompatible API changes:
148 * bindings: Selection.flags is now an attribute
149 * repodata_lookup_num now works like the other lookup_num functions
151 * selection_make_matchsolvable
152 * selection_make_matchsolvablelist
153 * pool_whatmatchessolvable
154 * repodata_search_arrayelement
155 * repodata_lookup_kv_uninternalized
156 * repodata_search_uninternalized
157 * repodata_translate_dir
158 - new repowriter interface to write solv files allowing better
159 control over what gets written
160 - support for filtered file lists with a custom filter
161 - dropped support of (since a long time unused) REPOKEY_TYPE_U32
164 - new configuration options:
165 * ENABLE_ZSTD_COMPRESSION: support zstd compression
166 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
168 * new repodata_set_kv() function
169 * new pool_solvable2id() inline function
170 * bindings: new str2dir, dir2str, add_dirstr repodata methods
172 * new repo2solv tool replacing the old shell script
176 * also look at suggests for package ordering
180 * new Selection.clone() method in the bindings
181 * new pool.parserpmrichdep() method in the bindings
184 - fixed bug that could make fileconflict detection very slow
188 - new configuration options:
189 * ENABLE_RPMDB_LIBRPM: use librpm to read the package
191 * ENABLE_RPMPKG_LIBRPM: use librpm to access information
194 * new pool_set_whatprovides function to manually change
195 the whatprovides data
196 * new selection_subtract function to remove packages of
197 one selection from another selection
198 * new selection flags SELECTION_FILTER,
199 SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH
200 * new map_invertall function to invert a bitmap
201 * new map_clr_at function to clear some bits
205 * many fixes and extenstions for cleandeps, e.g.
206 cleandeps now works for "update all packages"
207 * support debian packages with xz compressed control.tar
208 * always create dup rules for "distupgrade" jobs
209 * use recommends also for ordering packages
213 * support for REL_WITHOUT and REL_UNLESS dependencies
214 * solver_get_recommendations available in bindings
218 * new pool_best_solvables() function
222 * allow building with libxml2 instead of libexpat
223 * better handing of "forcebest with uninstall"
224 * speed improvements for "name = md5sum" dependencies
227 - export solvable_matchesdep function, as we now
228 use it in the bindings
232 * new SOLVER_FLAG_STRONG_RECOMMENDS flag
233 * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag
234 * new matchesdep() method in bindings
235 * SOLVABLE_NAME selects nevr matching for
236 pool_whatmatchesdep and solvable_matchesdep
240 * new SOLVER_FLAG_FOCUS_BEST flag
242 Version 0.6.22, 0.6.23
243 - bug fix releases, no new features
247 * SOLVER_FAVOR and SOLVER_DISFAVOR job types
249 * selection_make_matchdepid
250 * pool_whatcontainsdep
251 * pool_parserpmrichdep
255 * filter Requires(pre,post) for installed packages
259 * SOLVER_ALLOWUNINSTALL job type
260 * ordercycle introspection
262 * transaction_order_get_cycle
263 * transaction_order_get_cycleids
273 * pool_ids2whatprovides
277 * much improved package choosing code
278 * new testcase dependency format
279 * alternatives introspection
281 * pool_deb_get_autoinstalled
282 * solver_alternative2str
283 * solver_alternatives_count
284 * solver_get_alternative
285 * solver_rule2pkgrule
290 * support yum style obsolete handling
294 repodata_stringify() now returns the string
296 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
299 - ABI change: cleaned up and reordered knownid.h
300 - added support for sha224/sha384/sha512
301 - API change in the bindings:
302 * dropped solvid arg from most Dataiterator
304 * changed Datamatch results from methods to
306 * automatically delete the pool if the owner
307 object is freed (use the disown method to
308 get the old behavior).
310 * pool_add_userinstalled_jobs
311 * solver_get_userinstalled