1 2This file contains the major changes between 3libsolv versions: 4 5Version 0.7.19 6- selected bug fixes: 7 * fix rare segfault in resolve_jobrules() that could happen 8 if new rules are learnt 9 * fix a couple of memory leaks in error cases 10 * fix error handling in solv_xfopen_fd() 11 12Version 0.7.18 13- selected bug fixes: 14 * fixed regex code on win32 15 * fixed memory leak in choice rule generation 16- new features: 17 * repo_add_conda: add flag to skip v2 packages 18 19Version 0.7.17 20- selected bug fixes: 21 * repo_write: fix handling of nested flexarray 22 * improve choicerule generation a bit more to cover more cases 23 * harden testcase parser against repos being added too late 24 * support python-3.10 25 * check %_dbpath macro in rpmdb code 26- new features: 27 * handle default/visible/langonly attributes in comps parser 28 * support multiple collections in updateinfo parser 29 * add '-D' option in rpmdb2solv to set the dbpath 30 31Version 0.7.16 32- selected bug fixes: 33 * do not ask the namespace callback for splitprovides when writing 34 a testcase 35 * fix add_complex_recommends() selecting conflicted packages in 36 rare cases leading to crashes 37 * improve choicerule generation so that package updates are 38 prefered in more cases 39 * deal with missing repos in testcase_mangle_repo_names 40 41Version 0.7.15 42- selected bug fixes: 43 * fix deduceq2addedmap clearing bits outside of the map 44 * conda: feature depriorization first 45 * conda: fix startswith implementation 46 * move find_update_seeds() call in cleandeps calculation 47- new features: 48 * set SOLVABLE_BUILDHOST in rpm and rpmmd parsers 49 * new testcase_mangle_repo_names() function 50 * new solv_fmemopen() function 51 52Version 0.7.14 53- added support for ed25519 signatures 54- selected bug fixes: 55 * Support blacklisted packages in solver_findproblemrule() 56 * Support rules with multiple negative literals in choice rule 57 generation 58 * Also detect rpmdb.sqlite in /usr/share/rpm 59 60Version 0.7.13 61- fix solvable swapping messing up uninternalized idarrays 62 63Version 0.7.12 64- conda: support packages.conda repositories 65- conda: de-priorize track features 66- allow win32 to build shared lib 67- selected bug fixes: 68 * fix ruleinfo of complex dependencies returning the wrong origin 69 70Version 0.7.11 71- ENABLE_RPMDB_LIBRPM is now the default 72- selected bug fixes: 73 * fixed solv_zchunk decoding error if large chunks are used 74 * treat retracted pathes as irrelevant 75 * made add_update_target work with multiversion installs 76 77Version 0.7.10 78- new features: 79 * new rpm_stat_database() function 80 * new rpm_hash_database_state() function 81 82Version 0.7.9 83- new features: 84 * support conda constrains dependencies 85 86Version 0.7.8 87- selected bug fixes: 88 * support arch<->noarch package changes when creating patch 89 conflicts from the updateinfo data 90 * also support other rpm database types 91- new features: 92 * support for SOLVER_BLACKLIST jobs that block the installation 93 of matched packages unless they are directly selected by an 94 SOLVER_INSTALL job 95 * libsolv now also parses the patch status in the updateinfo 96 parser 97 * new solvable_matchessolvable() function 98 99Version 0.7.7 100- selected bug fixes: 101 * fix updating of too many packages in focusbest mode 102 * fix handling of disabled installed packages in distupgrade 103- new features 104 * new POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag 105 106Version 0.7.6 107- selected bug fixes: 108 * fix repository priority handling for multiversion packages 109 * better support of inverval deps in pool_match_dep() 110 * support src rpms that have non-empty provides 111- new features 112 * bindings: add get_disabled_list() and set_disabled_list() 113 * bindings: add whatcontainsdep() 114 * bindings: make the selection filters return the self object 115 116Version 0.7.5 117- selected bug fixes: 118 * fix favorq leaking between solver runs if the solver is reused 119 * fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason 120 * be more correct with multiversion packages that obsolete their 121 own name 122 * allow building with swig-4.0.0 123 * lock jobs now take precedence over dup and forcebest jobs 124- new features 125 * MSVC compilation support 126 127Version 0.7.4 128- selected bug fixes: 129 * repo_add_rpmdb: do not copy bad solvables from the old solv file 130 * fix cleandeps updates not updating all packages 131- new features: 132 * bindings: support pool.matchsolvable(), pool.whatmatchessolvable() 133 pool.best_solvables() and selection.matchsolvable() 134 * experimental DISTTYPE_CONDA and REL_CONDA support 135 136Version 0.7.3 137- selected bug fixes: 138 * fixed a couple of null pointer derefs and potential memory 139 leaks 140 * made disfavoring recommended packages work if strong recommends 141 is enabled 142 * no longer disable infarch rules when they don't conflict with 143 the job 144- new features: 145 * do favor evaluation before pruning allowing to (dis)favor 146 specific package versions 147 148Version 0.7.2 149- bug fixes: 150 * do not autouninstall packages because of forcebest updates 151- new features: 152 * support rpm's new '^' version separator 153 * support set/get_considered_list in bindings 154 * new experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag 155 156Version 0.7.1 157- fix nasty off-by-one error in repo_write 158 159Version 0.7.0 160- soname bump to "1" 161- incompatible API changes: 162 * bindings: Selection.flags is now an attribute 163 * repodata_lookup_num now works like the other lookup_num functions 164- new functions: 165 * selection_make_matchsolvable 166 * selection_make_matchsolvablelist 167 * pool_whatmatchessolvable 168 * repodata_search_arrayelement 169 * repodata_lookup_kv_uninternalized 170 * repodata_search_uninternalized 171 * repodata_translate_dir 172- new repowriter interface to write solv files allowing better 173 control over what gets written 174- support for filtered file lists with a custom filter 175- dropped support of (since a long time unused) REPOKEY_TYPE_U32 176 177Version 0.6.35 178- new configuration options: 179 * ENABLE_ZSTD_COMPRESSION: support zstd compression 180 * ENABLE_ZCHUNK_COMPRESSION: support zchunk compression 181- new features: 182 * new repodata_set_kv() function 183 * new pool_solvable2id() inline function 184 * bindings: new str2dir, dir2str, add_dirstr repodata methods 185- other changes 186 * new repo2solv tool replacing the old shell script 187 188Version 0.6.34 189- new features: 190 * also look at suggests for package ordering 191 192Version 0.6.33 193- new features: 194 * new Selection.clone() method in the bindings 195 * new pool.parserpmrichdep() method in the bindings 196 197Version 0.6.32 198- fixed bug that could make fileconflict detection very slow 199 in some cases 200 201Version 0.6.31 202- new configuration options: 203 * ENABLE_RPMDB_LIBRPM: use librpm to read the package 204 database 205 * ENABLE_RPMPKG_LIBRPM: use librpm to access information 206 from package headers 207- new features: 208 * new pool_set_whatprovides function to manually change 209 the whatprovides data 210 * new selection_subtract function to remove packages of 211 one selection from another selection 212 * new selection flags SELECTION_FILTER, 213 SELECTION_WITH_DISABLED and SELECTION_WITH_BADARCH 214 * new map_invertall function to invert a bitmap 215 * new map_clr_at function to clear some bits 216 217Version 0.6.30 218- new features: 219 * many fixes and extenstions for cleandeps, e.g. 220 cleandeps now works for "update all packages" 221 * support debian packages with xz compressed control.tar 222 * always create dup rules for "distupgrade" jobs 223 * use recommends also for ordering packages 224 225Version 0.6.29 226- new features: 227 * support for REL_WITHOUT and REL_UNLESS dependencies 228 * solver_get_recommendations available in bindings 229 230Version 0.6.28 231- new features: 232 * new pool_best_solvables() function 233 234Version 0.6.27 235- new features: 236 * allow building with libxml2 instead of libexpat 237 * better handing of "forcebest with uninstall" 238 * speed improvements for "name = md5sum" dependencies 239 240Version 0.6.26 241- export solvable_matchesdep function, as we now 242 use it in the bindings 243 244Version 0.6.25 245- new features: 246 * new SOLVER_FLAG_STRONG_RECOMMENDS flag 247 * new SOLVER_FLAG_INSTALL_ALSO_UPDATES flag 248 * new matchesdep() method in bindings 249 * SOLVABLE_NAME selects nevr matching for 250 pool_whatmatchesdep and solvable_matchesdep 251 252Version 0.6.24 253- new features: 254 * new SOLVER_FLAG_FOCUS_BEST flag 255 256Version 0.6.22, 0.6.23 257- bug fix releases, no new features 258 259Version 0.6.21 260- new features: 261 * SOLVER_FAVOR and SOLVER_DISFAVOR job types 262- new functions: 263 * selection_make_matchdepid 264 * pool_whatcontainsdep 265 * pool_parserpmrichdep 266 267Version 0.6.20 268- new features: 269 * filter Requires(pre,post) for installed packages 270 271Version 0.6.13: 272- new features: 273 * SOLVER_ALLOWUNINSTALL job type 274 * ordercycle introspection 275- new functions: 276 * transaction_order_get_cycle 277 * transaction_order_get_cycleids 278 279Version 0.6.12: 280- new features: 281 * tcl bindings 282- new functions: 283 * solv_chksum_cmp 284 285Version 0.6.11: 286- new functions: 287 * pool_ids2whatprovides 288 289Version 0.6.9: 290- new features: 291 * much improved package choosing code 292 * new testcase dependency format 293 * alternatives introspection 294- new functions: 295 * pool_deb_get_autoinstalled 296 * solver_alternative2str 297 * solver_alternatives_count 298 * solver_get_alternative 299 * solver_rule2pkgrule 300 * testcase_dep2str 301 302Version 0.6.5: 303- new features: 304 * support yum style obsolete handling 305 306Version 0.6.1: 307- API change: 308 repodata_stringify() now returns the string 309- new features: 310 * add BREAK_ORPHANS and KEEP_ORPHANS solver flags 311 312Version 0.6.0: 313- ABI change: cleaned up and reordered knownid.h 314- added support for sha224/sha384/sha512 315- API change in the bindings: 316 * dropped solvid arg from most Dataiterator 317 constructors 318 * changed Datamatch results from methods to 319 attributes 320 * automatically delete the pool if the owner 321 object is freed (use the disown method to 322 get the old behavior). 323- new functions: 324 * pool_add_userinstalled_jobs 325 * solver_get_userinstalled 326 327