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