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