2 This file contains the major changes between
7 * new rpm_stat_database() function
8 * new rpm_hash_database_state() function
12 * support conda constrains dependencies
16 * support arch<->noarch package changes when creating patch
17 conflicts from the updateinfo data
18 * also support other rpm database types
20 * support for SOLVER_BLACKLIST jobs that block the installation
21 of matched packages unless they are directly selected by an
23 * libsolv now also parses the patch status in the updateinfo
25 * new solvable_matchessolvable() function
29 * fix updating of too many packages in focusbest mode
30 * fix handling of disabled installed packages in distupgrade
32 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
36 * fix repository priority handling for multiversion packages
37 * better support of inverval deps in pool_match_dep()
38 * support src rpms that have non-empty provides
40 * bindings: add get_disabled_list() and set_disabled_list()
41 * bindings: add whatcontainsdep()
42 * bindings: make the selection filters return the self object
46 * fix favorq leaking between solver runs if the solver is reused
47 * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
48 * be more correct with multiversion packages that obsolete their
50 * allow building with swig-4.0.0
51 * lock jobs now take precedence over dup and forcebest jobs
53 * MSVC compilation support
57 * repo_add_rpmdb: do not copy bad solvables from the old solv file
58 * fix cleandeps updates not updating all packages
60 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
61 pool.best_solvables() and selection.matchsolvable()
62 * experimental DISTTYPE_CONDA and REL_CONDA support
66 * fixed a couple of null pointer derefs and potential memory
68 * made disfavoring recommended packages work if strong recommends
70 * no longer disable infarch rules when they don't conflict with
73 * do favor evaluation before pruning allowing to (dis)favor
74 specific package versions
78 * do not autouninstall packages because of forcebest updates
80 * support rpm's new '^' version separator
81 * support set/get_considered_list in bindings
82 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
85 - fix nasty off-by-one error in repo_write
89 - incompatible API changes:
90 * bindings: Selection.flags is now an attribute
91 * repodata_lookup_num now works like the other lookup_num functions
93 * selection_make_matchsolvable
94 * selection_make_matchsolvablelist
95 * pool_whatmatchessolvable
96 * repodata_search_arrayelement
97 * repodata_lookup_kv_uninternalized
98 * repodata_search_uninternalized
99 * repodata_translate_dir
100 - new repowriter interface to write solv files allowing better
101 control over what gets written
102 - support for filtered file lists with a custom filter
103 - dropped support of (since a long time unused) REPOKEY_TYPE_U32
106 - new configuration options:
107 * ENABLE_ZSTD_COMPRESSION: support zstd compression
108 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
110 * new repodata_set_kv() function
111 * new pool_solvable2id() inline function
112 * bindings: new str2dir, dir2str, add_dirstr repodata methods
114 * new repo2solv tool replacing the old shell script
118 * also look at suggests for package ordering
122 * new Selection.clone() method in the bindings
123 * new pool.parserpmrichdep() method in the bindings
126 - fixed bug that could make fileconflict detection very slow
130 - new configuration options:
131 * ENABLE_RPMDB_LIBRPM: use librpm to read the package
133 * ENABLE_RPMPKG_LIBRPM: use librpm to access information
136 * new pool_set_whatprovides function to manually change
137 the whatprovides data
138 * new selection_subtract function to remove packages of
139 one selection from another selection
140 * new selection flags SELECTION_FILTER,
141 SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH
142 * new map_invertall function to invert a bitmap
143 * new map_clr_at function to clear some bits
147 * many fixes and extenstions for cleandeps, e.g.
148 cleandeps now works for "update all packages"
149 * support debian packages with xz compressed control.tar
150 * always create dup rules for "distupgrade" jobs
151 * use recommends also for ordering packages
155 * support for REL_WITHOUT and REL_UNLESS dependencies
156 * solver_get_recommendations available in bindings
160 * new pool_best_solvables() function
164 * allow building with libxml2 instead of libexpat
165 * better handing of "forcebest with uninstall"
166 * speed improvements for "name = md5sum" dependencies
169 - export solvable_matchesdep function, as we now
170 use it in the bindings
174 * new SOLVER_FLAG_STRONG_RECOMMENDS flag
175 * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag
176 * new matchesdep() method in bindings
177 * SOLVABLE_NAME selects nevr matching for
178 pool_whatmatchesdep and solvable_matchesdep
182 * new SOLVER_FLAG_FOCUS_BEST flag
184 Version 0.6.22, 0.6.23
185 - bug fix releases, no new features
189 * SOLVER_FAVOR and SOLVER_DISFAVOR job types
191 * selection_make_matchdepid
192 * pool_whatcontainsdep
193 * pool_parserpmrichdep
197 * filter Requires(pre,post) for installed packages
201 * SOLVER_ALLOWUNINSTALL job type
202 * ordercycle introspection
204 * transaction_order_get_cycle
205 * transaction_order_get_cycleids
215 * pool_ids2whatprovides
219 * much improved package choosing code
220 * new testcase dependency format
221 * alternatives introspection
223 * pool_deb_get_autoinstalled
224 * solver_alternative2str
225 * solver_alternatives_count
226 * solver_get_alternative
227 * solver_rule2pkgrule
232 * support yum style obsolete handling
236 repodata_stringify() now returns the string
238 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
241 - ABI change: cleaned up and reordered knownid.h
242 - added support for sha224/sha384/sha512
243 - API change in the bindings:
244 * dropped solvid arg from most Dataiterator
246 * changed Datamatch results from methods to
248 * automatically delete the pool if the owner
249 object is freed (use the disown method to
250 get the old behavior).
252 * pool_add_userinstalled_jobs
253 * solver_get_userinstalled