+This file contains the major changes between libsolv versions:
+
+Version 0.7.27
+- selected bug fixes:
+ * add zstd support for the installcheck tool
+ * add putinowndirpool cache to make file list handling in
+ repo_write much faster
+
+Version 0.7.26
+- selected bug fixes:
+ * fix evr roundtrip in testcases
+ * do not use deprecated headerUnload with newer rpm versions
+
+Version 0.7.25
+- selected bug fixes:
+ * support complex deps in SOLVABLE_PREREQ_IGNOREINST
+ * fix minimization not prefering installed packages in some cases
+ * reduce memory usage in repo_updateinfoxml
+ * fix lock-step interfering with architecture selection
+ * fix choice rule handing for package downgrades
+ * fix complex dependencies with an "else" part sometimes leading
+ to unsolved dependencies
+
+Version 0.7.24
+- selected bug fixes:
+ * handle learnt rules in solver_alternativeinfo()
+- new features:
+ * support x86_64_v[234] architecture levels
+ * implement decision sorting for package decisionlists
+
+Version 0.7.23
+- selected bug fixes:
+ * fix "keep installed" jobs not disabling "best update" rules
+ * do not autouninstall suse ptf packages
+ * ensure duplinvolvedmap_all is reset when a solver is reused
+ * special case file dependencies in the testcase writer
+- new features:
+ * support stringification of multiple solvables
+ new function: pool_solvidset2str
+ * new weakdep introspection interface similar to ruleinfos
+ new functions: solver_weakdepinfo, solver_allweakdepinfos
+ * support decision reason queries
+ new functions: solver_get_decisionlist, solver_get_decisionlist_multiple,
+ solver_get_learnt
+ * support merging of related decissions
+ new functions: solver_decisionlist_solvables, solver_decisionlist_merged,
+ solver_calc_decisioninfo_bits, solver_merge_decisioninfo_bits
+ * support stringification of ruleinfo, decisioninfo and decision reasons
+ new functions: solver_ruleinfo2str, solver_decisioninfo2str,
+ solver_decisionreason2str, solver_reason2str
+ * support better info about alternatives
+ new function: solver_alternativeinfo()
+ * new '-P' and '-W' options for testsolv to show proofs and
+ decision reasons
+
+Version 0.7.22
+- selected bug fixes:
+ * reworked choice rule generation to cover more usecases
+ * support SOLVABLE_PREREQ_IGNOREINST in the ordering code
+- new features:
+ * support parsing of Debian's Multi-Arch indicator
+
+Version 0.7.21
+- selected bug fixes:
+ * fix segfault on conflict resolution when using bindings
+ * fix split provides not working if the update includes a forbidden
+ vendor change
+- new features:
+ * support strict repository priorities
+ new solver flag: SOLVER_FLAG_STRICT_REPO_PRIORITY
+ * support zstd compressed control files in debian packages
+ * add an ifdef allowing to rename Solvable dependency members
+ ("requires" is a keyword in C++20)
+ * support setting/reading userdata in solv files
+ new functions: repowriter_set_userdata, solv_read_userdata
+ * support queying of the custom vendor check function
+ new function: pool_get_custom_vendorcheck
+ * support solv files with an idarray block
+ * allow accessing the toolversion at runtime
+
+Version 0.7.20
+- selected bug fixes:
+ * fix misparsing of '&' in attributes with libxml2
+ * choice rules: treat orphaned packages as newest
+ * fix compatibility with Python 3.10
+- new features:
+ * new SOLVER_EXCLUDEFROMWEAK job to ignore pkgs for weak dependencies
+ * support for environments in comps parser
+
+Version 0.7.19
+- selected bug fixes:
+ * fix rare segfault in resolve_jobrules() that could happen
+ if new rules are learnt
+ * fix a couple of memory leaks in error cases
+ * fix error handling in solv_xfopen_fd()
+
+Version 0.7.18
+- selected bug fixes:
+ * fixed regex code on win32
+ * fixed memory leak in choice rule generation
+- new features:
+ * repo_add_conda: add flag to skip v2 packages
+
+Version 0.7.17
+- selected bug fixes:
+ * repo_write: fix handling of nested flexarray
+ * improve choicerule generation a bit more to cover more cases
+ * harden testcase parser against repos being added too late
+ * support python-3.10
+ * check %_dbpath macro in rpmdb code
+- new features:
+ * handle default/visible/langonly attributes in comps parser
+ * support multiple collections in updateinfo parser
+ * add '-D' option in rpmdb2solv to set the dbpath
+
+Version 0.7.16
+- selected bug fixes:
+ * do not ask the namespace callback for splitprovides when writing
+ a testcase
+ * fix add_complex_recommends() selecting conflicted packages in
+ rare cases leading to crashes
+ * improve choicerule generation so that package updates are
+ prefered in more cases
+ * deal with missing repos in testcase_mangle_repo_names
+
+Version 0.7.15
+- selected bug fixes:
+ * fix deduceq2addedmap clearing bits outside of the map
+ * conda: feature depriorization first
+ * conda: fix startswith implementation
+ * move find_update_seeds() call in cleandeps calculation
+- new features:
+ * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers
+ * new testcase_mangle_repo_names() function
+ * new solv_fmemopen() function
+
+Version 0.7.14
+- added support for ed25519 signatures
+- selected bug fixes:
+ * Support blacklisted packages in solver_findproblemrule()
+ * Support rules with multiple negative literals in choice rule
+ generation
+ * Also detect rpmdb.sqlite in /usr/share/rpm
+
+Version 0.7.13
+- fix solvable swapping messing up uninternalized idarrays
+
+Version 0.7.12
+- conda: support packages.conda repositories
+- conda: de-priorize track features
+- allow win32 to build shared lib
+- selected bug fixes:
+ * fix ruleinfo of complex dependencies returning the wrong origin
+
+Version 0.7.11
+- ENABLE_RPMDB_LIBRPM is now the default
+- selected bug fixes:
+ * fixed solv_zchunk decoding error if large chunks are used
+ * treat retracted pathes as irrelevant
+ * made add_update_target work with multiversion installs
+
+Version 0.7.10
+- new features:
+ * new rpm_stat_database() function
+ * new rpm_hash_database_state() function
+
+Version 0.7.9
+- new features:
+ * support conda constrains dependencies
+
+Version 0.7.8
+- selected bug fixes:
+ * support arch<->noarch package changes when creating patch
+ conflicts from the updateinfo data
+ * also support other rpm database types
+- new features:
+ * support for SOLVER_BLACKLIST jobs that block the installation
+ of matched packages unless they are directly selected by an
+ SOLVER_INSTALL job
+ * libsolv now also parses the patch status in the updateinfo
+ parser
+ * new solvable_matchessolvable() function