2 This file contains the major changes between
7 * fix deduceq2addedmap clearing bits outside of the map
8 * conda: feature depriorization first
9 * conda: fix startswith implementation
10 * move find_update_seeds() call in cleandeps calculation
12 * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
13 * new testcase_mangle_repo_names() function
14 * new solv_fmemopen() function
17 - added support for ed25519 signatures
19 * Support blacklisted packages in solver_findproblemrule()
20 * Support rules with multiple negative literals in choice rule
22 * Also detect rpmdb.sqlite in /usr/share/rpm
25 - fix solvable swapping messing up uninternalized idarrays
28 - conda: support packages.conda repositories
29 - conda: de-priorize track features
30 - allow win32 to build shared lib
32 * fix ruleinfo of complex dependencies returning the wrong origin
35 - ENABLE_RPMDB_LIBRPM is now the default
37 * fixed solv_zchunk decoding error if large chunks are used
38 * treat retracted pathes as irrelevant
39 * made add_update_target work with multiversion installs
43 * new rpm_stat_database() function
44 * new rpm_hash_database_state() function
48 * support conda constrains dependencies
52 * support arch<->noarch package changes when creating patch
53 conflicts from the updateinfo data
54 * also support other rpm database types
56 * support for SOLVER_BLACKLIST jobs that block the installation
57 of matched packages unless they are directly selected by an
59 * libsolv now also parses the patch status in the updateinfo
61 * new solvable_matchessolvable() function
65 * fix updating of too many packages in focusbest mode
66 * fix handling of disabled installed packages in distupgrade
68 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
72 * fix repository priority handling for multiversion packages
73 * better support of inverval deps in pool_match_dep()
74 * support src rpms that have non-empty provides
76 * bindings: add get_disabled_list() and set_disabled_list()
77 * bindings: add whatcontainsdep()
78 * bindings: make the selection filters return the self object
82 * fix favorq leaking between solver runs if the solver is reused
83 * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
84 * be more correct with multiversion packages that obsolete their
86 * allow building with swig-4.0.0
87 * lock jobs now take precedence over dup and forcebest jobs
89 * MSVC compilation support
93 * repo_add_rpmdb: do not copy bad solvables from the old solv file
94 * fix cleandeps updates not updating all packages
96 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
97 pool.best_solvables() and selection.matchsolvable()
98 * experimental DISTTYPE_CONDA and REL_CONDA support
101 - selected bug fixes:
102 * fixed a couple of null pointer derefs and potential memory
104 * made disfavoring recommended packages work if strong recommends
106 * no longer disable infarch rules when they don't conflict with
109 * do favor evaluation before pruning allowing to (dis)favor
110 specific package versions
114 * do not autouninstall packages because of forcebest updates
116 * support rpm's new '^' version separator
117 * support set/get_considered_list in bindings
118 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
121 - fix nasty off-by-one error in repo_write
125 - incompatible API changes:
126 * bindings: Selection.flags is now an attribute
127 * repodata_lookup_num now works like the other lookup_num functions
129 * selection_make_matchsolvable
130 * selection_make_matchsolvablelist
131 * pool_whatmatchessolvable
132 * repodata_search_arrayelement
133 * repodata_lookup_kv_uninternalized
134 * repodata_search_uninternalized
135 * repodata_translate_dir
136 - new repowriter interface to write solv files allowing better
137 control over what gets written
138 - support for filtered file lists with a custom filter
139 - dropped support of (since a long time unused) REPOKEY_TYPE_U32
142 - new configuration options:
143 * ENABLE_ZSTD_COMPRESSION: support zstd compression
144 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
146 * new repodata_set_kv() function
147 * new pool_solvable2id() inline function
148 * bindings: new str2dir, dir2str, add_dirstr repodata methods
150 * new repo2solv tool replacing the old shell script
154 * also look at suggests for package ordering
158 * new Selection.clone() method in the bindings
159 * new pool.parserpmrichdep() method in the bindings
162 - fixed bug that could make fileconflict detection very slow
166 - new configuration options:
167 * ENABLE_RPMDB_LIBRPM: use librpm to read the package
169 * ENABLE_RPMPKG_LIBRPM: use librpm to access information
172 * new pool_set_whatprovides function to manually change
173 the whatprovides data
174 * new selection_subtract function to remove packages of
175 one selection from another selection
176 * new selection flags SELECTION_FILTER,
177 SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH
178 * new map_invertall function to invert a bitmap
179 * new map_clr_at function to clear some bits
183 * many fixes and extenstions for cleandeps, e.g.
184 cleandeps now works for "update all packages"
185 * support debian packages with xz compressed control.tar
186 * always create dup rules for "distupgrade" jobs
187 * use recommends also for ordering packages
191 * support for REL_WITHOUT and REL_UNLESS dependencies
192 * solver_get_recommendations available in bindings
196 * new pool_best_solvables() function
200 * allow building with libxml2 instead of libexpat
201 * better handing of "forcebest with uninstall"
202 * speed improvements for "name = md5sum" dependencies
205 - export solvable_matchesdep function, as we now
206 use it in the bindings
210 * new SOLVER_FLAG_STRONG_RECOMMENDS flag
211 * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag
212 * new matchesdep() method in bindings
213 * SOLVABLE_NAME selects nevr matching for
214 pool_whatmatchesdep and solvable_matchesdep
218 * new SOLVER_FLAG_FOCUS_BEST flag
220 Version 0.6.22, 0.6.23
221 - bug fix releases, no new features
225 * SOLVER_FAVOR and SOLVER_DISFAVOR job types
227 * selection_make_matchdepid
228 * pool_whatcontainsdep
229 * pool_parserpmrichdep
233 * filter Requires(pre,post) for installed packages
237 * SOLVER_ALLOWUNINSTALL job type
238 * ordercycle introspection
240 * transaction_order_get_cycle
241 * transaction_order_get_cycleids
251 * pool_ids2whatprovides
255 * much improved package choosing code
256 * new testcase dependency format
257 * alternatives introspection
259 * pool_deb_get_autoinstalled
260 * solver_alternative2str
261 * solver_alternatives_count
262 * solver_get_alternative
263 * solver_rule2pkgrule
268 * support yum style obsolete handling
272 repodata_stringify() now returns the string
274 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags
277 - ABI change: cleaned up and reordered knownid.h
278 - added support for sha224/sha384/sha512
279 - API change in the bindings:
280 * dropped solvid arg from most Dataiterator
282 * changed Datamatch results from methods to
284 * automatically delete the pool if the owner
285 object is freed (use the disown method to
286 get the old behavior).
288 * pool_add_userinstalled_jobs
289 * solver_get_userinstalled