
This file contains the major changes between
libsolv versions:

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

Version 0.7.7
- selected bug fixes:
  * fix updating of too many packages in focusbest mode
  * fix handling of disabled installed packages in distupgrade
- new features
  * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag

Version 0.7.6
- selected bug fixes:
  * fix repository priority handling for multiversion packages
  * better support of inverval deps in pool_match_dep()
  * support src rpms that have non-empty provides
- new features
  * bindings: add get_disabled_list() and set_disabled_list()
  * bindings: add whatcontainsdep()
  * bindings: make the selection filters return the self object

Version 0.7.5
- selected bug fixes:
  * fix favorq leaking between solver runs if the solver is reused
  * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
  * be more correct with multiversion packages that obsolete their
    own name
  * allow building with swig-4.0.0
  * lock jobs now take precedence over dup and forcebest jobs
- new features
  * MSVC compilation support

Version 0.7.4
- selected bug fixes:
  * repo_add_rpmdb: do not copy bad solvables from the old solv file
  * fix cleandeps updates not updating all packages
- new features:
  * bindings: support pool.matchsolvable(), pool.whatmatchessolvable()
    pool.best_solvables() and selection.matchsolvable()
  * experimental DISTTYPE_CONDA and REL_CONDA support

Version 0.7.3
- selected bug fixes:
  * fixed a couple of null pointer derefs and potential memory
    leaks
  * made disfavoring recommended packages work if strong recommends
    is enabled
  * no longer disable infarch rules when they don't conflict with
    the job
- new features:
  * do favor evaluation before pruning allowing to (dis)favor
    specific package versions

Version 0.7.2
- bug fixes:
  * do not autouninstall packages because of forcebest updates
- new features:
  * support rpm's new '^' version separator
  * support set/get_considered_list in bindings
  * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag

Version 0.7.1
- fix nasty off-by-one error in repo_write

Version 0.7.0
- soname bump to "1"
- incompatible API changes:
  * bindings: Selection.flags is now an attribute
  * repodata_lookup_num now works like the other lookup_num functions
- new functions:
  * selection_make_matchsolvable
  * selection_make_matchsolvablelist
  * pool_whatmatchessolvable
  * repodata_search_arrayelement
  * repodata_lookup_kv_uninternalized
  * repodata_search_uninternalized
  * repodata_translate_dir
- new repowriter interface to write solv files allowing better
  control over what gets written
- support for filtered file lists with a custom filter
- dropped support of (since a long time unused) REPOKEY_TYPE_U32

Version 0.6.35
- new configuration options:
  * ENABLE_ZSTD_COMPRESSION: support zstd compression
  * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression
- new features:
  * new repodata_set_kv() function
  * new pool_solvable2id() inline function
  * bindings: new str2dir, dir2str, add_dirstr repodata methods
- other changes
  * new repo2solv tool replacing the old shell script

Version 0.6.34
- new features:
  * also look at suggests for package ordering

Version 0.6.33
- new features:
  * new Selection.clone() method in the bindings
  * new pool.parserpmrichdep() method in the bindings

Version 0.6.32
- fixed bug that could make fileconflict detection very slow
  in some cases

Version 0.6.31
- new configuration options:
  * ENABLE_RPMDB_LIBRPM: use librpm to read the package
    database
  * ENABLE_RPMPKG_LIBRPM: use librpm to access information
    from package headers
- new features:
  * new pool_set_whatprovides function to manually change
    the whatprovides data
  * new selection_subtract function to remove packages of
    one selection from another selection
  * new selection flags SELECTION_FILTER,
    SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH
  * new map_invertall function to invert a bitmap
  * new map_clr_at function to clear some bits

Version 0.6.30
- new features:
  * many fixes and extenstions for cleandeps, e.g.
    cleandeps now works for "update all packages"
  * support debian packages with xz compressed control.tar
  * always create dup rules for "distupgrade" jobs
  * use recommends also for ordering packages

Version 0.6.29
- new features:
  * support for REL_WITHOUT and REL_UNLESS dependencies
  * solver_get_recommendations available in bindings

Version 0.6.28
- new features:
  * new pool_best_solvables() function

Version 0.6.27
- new features:
  * allow building with libxml2 instead of libexpat
  * better handing of "forcebest with uninstall"
  * speed improvements for "name = md5sum" dependencies

Version 0.6.26
- export solvable_matchesdep function, as we now
  use it in the bindings

Version 0.6.25
- new features:
  * new SOLVER_FLAG_STRONG_RECOMMENDS flag
  * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag
  * new matchesdep() method in bindings
  * SOLVABLE_NAME selects nevr matching for
    pool_whatmatchesdep and solvable_matchesdep
 
Version 0.6.24
- new features:
  * new SOLVER_FLAG_FOCUS_BEST flag

Version 0.6.22, 0.6.23
- bug fix releases, no new features

Version 0.6.21
- new features:
  * SOLVER_FAVOR and SOLVER_DISFAVOR job types
- new functions:
  * selection_make_matchdepid
  * pool_whatcontainsdep
  * pool_parserpmrichdep

Version 0.6.20
- new features:
  * filter Requires(pre,post) for installed packages

Version 0.6.13:
- new features:
  * SOLVER_ALLOWUNINSTALL job type
  * ordercycle introspection
- new functions:
  * transaction_order_get_cycle
  * transaction_order_get_cycleids

Version 0.6.12:
- new features:
  * tcl bindings
- new functions:
  * solv_chksum_cmp

Version 0.6.11:
- new functions:
  * pool_ids2whatprovides

Version 0.6.9:
- new features:
  * much improved package choosing code
  * new testcase dependency format
  * alternatives introspection
- new functions:
  * pool_deb_get_autoinstalled
  * solver_alternative2str
  * solver_alternatives_count
  * solver_get_alternative
  * solver_rule2pkgrule
  * testcase_dep2str

Version 0.6.5:
- new features:
  * support yum style obsolete handling

Version 0.6.1:
- API change:
  repodata_stringify() now returns the string
- new features:
  * add BREAK_ORPHANS and KEEP_ORPHANS solver flags

Version 0.6.0:
- ABI change: cleaned up and reordered knownid.h
- added support for sha224/sha384/sha512
- API change in the bindings:
  * dropped solvid arg from most Dataiterator
    constructors
  * changed Datamatch results from methods to
    attributes
  * automatically delete the pool if the owner
    object is freed (use the disown method to
    get the old behavior).
- new functions:
  * pool_add_userinstalled_jobs
  * solver_get_userinstalled

