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