2 This file contains the major changes between
7 * do not ask the namespace callback for splitprovides when writing
9 * fix add_complex_recommends() selecting conflicted packages in
10 rare cases leading to crashes
11 * improve choicerule generation so that package updates are
12 prefered in more cases
13 * deal with missing repos in testcase_mangle_repo_names
17 * fix deduceq2addedmap clearing bits outside of the map
18 * conda: feature depriorization first
19 * conda: fix startswith implementation
20 * move find_update_seeds() call in cleandeps calculation
22 * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
23 * new testcase_mangle_repo_names() function
24 * new solv_fmemopen() function
27 - added support for ed25519 signatures
29 * Support blacklisted packages in solver_findproblemrule()
30 * Support rules with multiple negative literals in choice rule
32 * Also detect rpmdb.sqlite in /usr/share/rpm
35 - fix solvable swapping messing up uninternalized idarrays
38 - conda: support packages.conda repositories
39 - conda: de-priorize track features
40 - allow win32 to build shared lib
42 * fix ruleinfo of complex dependencies returning the wrong origin
45 - ENABLE_RPMDB_LIBRPM is now the default
47 * fixed solv_zchunk decoding error if large chunks are used
48 * treat retracted pathes as irrelevant
49 * made add_update_target work with multiversion installs
53 * new rpm_stat_database() function
54 * new rpm_hash_database_state() function
58 * support conda constrains dependencies
62 * support arch<->noarch package changes when creating patch
63 conflicts from the updateinfo data
64 * also support other rpm database types
66 * support for SOLVER_BLACKLIST jobs that block the installation
67 of matched packages unless they are directly selected by an
69 * libsolv now also parses the patch status in the updateinfo
71 * new solvable_matchessolvable() function
75 * fix updating of too many packages in focusbest mode
76 * fix handling of disabled installed packages in distupgrade
78 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
82 * fix repository priority handling for multiversion packages
83 * better support of inverval deps in pool_match_dep()
84 * support src rpms that have non-empty provides
86 * bindings: add get_disabled_list() and set_disabled_list()
87 * bindings: add whatcontainsdep()
88 * bindings: make the selection filters return the self object
92 * fix favorq leaking between solver runs if the solver is reused
93 * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
94 * be more correct with multiversion packages that obsolete their
96 * allow building with swig-4.0.0
97 * lock jobs now take precedence over dup and forcebest jobs
99 * MSVC compilation support
102 - selected bug fixes:
103 * repo_add_rpmdb: do not copy bad solvables from the old solv file
104 * fix cleandeps updates not updating all packages
106 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
107 pool.best_solvables() and selection.matchsolvable()
108 * experimental DISTTYPE_CONDA and REL_CONDA support
111 - selected bug fixes:
112 * fixed a couple of null pointer derefs and potential memory
114 * made disfavoring recommended packages work if strong recommends
116 * no longer disable infarch rules when they don't conflict with
119 * do favor evaluation before pruning allowing to (dis)favor
120 specific package versions
124 * do not autouninstall packages because of forcebest updates
126 * support rpm's new '^' version separator
127 * support set/get_considered_list in bindings
128 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
131 - fix nasty off-by-one error in repo_write
135 - incompatible API changes:
136 * bindings: Selection.flags is now an attribute
137 * repodata_lookup_num now works like the other lookup_num functions
139 * selection_make_matchsolvable
140 * selection_make_matchsolvablelist
141 * pool_whatmatchessolvable
142 * repodata_search_arrayelement
143 * repodata_lookup_kv_uninternalized
144 * repodata_search_uninternalized
145 * repodata_translate_dir
146 - new repowriter interface to write solv files allowing better
147 control over what gets written
148 - support for filtered file lists with a custom filter
149 - dropped support of (since a long time unused) REPOKEY_TYPE_U32
152 - new configuration options:
153 * ENABLE_ZSTD_COMPRESSION: support zstd compression
154 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
156 * new repodata_set_kv() function
157 * new pool_solvable2id() inline function
158 * bindings: new str2dir, dir2str, add_dirstr repodata methods
160 * new repo2solv tool replacing the old shell script
164 * also look at suggests for package ordering
168 * new Selection.clone() method in the bindings
169 * new pool.parserpmrichdep() method in the bindings
172 - fixed bug that could make fileconflict detection very slow
176 - new configuration options:
177 * ENABLE_RPMDB_LIBRPM: use librpm to read the package
179 * ENABLE_RPMPKG_LIBRPM: use librpm to access information
182 * new pool_set_whatprovides function to manually change
183 the whatprovides data
184 * new selection_subtract function to remove packages of
185 one selection from another selection
186 * new selection flags SELECTION_FILTER,
187 SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH
188 * new map_invertall function to invert a bitmap
189 * new map_clr_at function to clear some bits
193 * many fixes and extenstions for cleandeps, e.g.
194 cleandeps now works for "update all packages"
195 * support debian packages with xz compressed control.tar
196 * always create dup rules for "distupgrade" jobs
197 * use recommends also for ordering packages
201 * support for REL_WITHOUT and REL_UNLESS dependencies
202 * solver_get_recommendations available in bindings
206 * new pool_best_solvables() function
210 * allow building with libxml2 instead of libexpat
211 * better handing of "forcebest with uninstall"
212 * speed improvements for "name = md5sum" dependencies
215 - export solvable_matchesdep function, as we now
216 use it in the bindings
220 * new SOLVER_FLAG_STRONG_RECOMMENDS flag
221 * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag
222 * new matchesdep() method in bindings
223 * SOLVABLE_NAME selects nevr matching for
224 pool_whatmatchesdep and solvable_matchesdep
228 * new SOLVER_FLAG_FOCUS_BEST flag
230 Version 0.6.22, 0.6.23
231 - bug fix releases, no new features
235 * SOLVER_FAVOR and SOLVER_DISFAVOR job types
237 * selection_make_matchdepid
238 * pool_whatcontainsdep
239 * pool_parserpmrichdep
243 * filter Requires(pre,post) for installed packages
247 * SOLVER_ALLOWUNINSTALL job type
248 * ordercycle introspection
250 * transaction_order_get_cycle
251 * transaction_order_get_cycleids
261 * pool_ids2whatprovides
265 * much improved package choosing code
266 * new testcase dependency format
267 * alternatives introspection
269 * pool_deb_get_autoinstalled
270 * solver_alternative2str
271 * solver_alternatives_count
272 * solver_get_alternative
273 * solver_rule2pkgrule
278 * support yum style obsolete handling
282 repodata_stringify() now returns the string
284 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
287 - ABI change: cleaned up and reordered knownid.h
288 - added support for sha224/sha384/sha512
289 - API change in the bindings:
290 * dropped solvid arg from most Dataiterator
292 * changed Datamatch results from methods to
294 * automatically delete the pool if the owner
295 object is freed (use the disown method to
296 get the old behavior).
298 * pool_add_userinstalled_jobs
299 * solver_get_userinstalled