Set handle->logstream to null after fclose()
[pacman-ng.git] / NEWS
blobd586c1164a13b5472dbfe451dbfdb09ce124aa18
1 VERSION         DESCRIPTION
2 -----------------------------------------------------------------------------
3 3.1.3         - major updates to i18n output in frontend (all UTF-8 characters
4                 should now work with varying byte and char widths)
5               - new Simplified Chinese translation
6               - updates to testpkg utility
7               - updates to PKGBUILD.vim
8               - internal updates for translations - use c-format on all
9                 strings, get rid of needless line numbers
10 3.1.2         - updates to proto.install, add ChangeLog.proto (FS#7231)
11               - add 'force' option to packages, and have repo-add respect it
12               - mark gensync and updatesync as deprecated
13               - fix pacman -Qo behavior on symlinks (FS#9473)
14               - fix segfault on a broken symlinks in backup code (FS#9235)
15               - ensure filename is determined correctly for a pkg (FS#9547)
16               - fix conflict progress bar with UTF-8 chars (FS#6437)
17               - fix chk_fileconflicts brokenness, ensure it reads entire list
18               - ensure -Sc operation locks DB, only checks DBs (FS#9609)
19               - minor documentation and message updates
20               - moved some translations to their more generic lang codes
21               - allow scripts to be run without gettext installed
22               - makepkg:
23                 - check to ensure we have non-URL sources (FS#9208)
24                 - ensure we strip binaries in /opt/ dirs (FS#9342)
25                 - check for VCS executable before using (FS#9230)
26                 - set sane umask before source extraction (FS#9242, FS#9362)
27 3.1.1         - fix versioned provisions handling- use '=' instead of ' ' which
28                 differs from original spec but better in long run (FS#9171)
29               - rename query --orphans to --unrequired (FS#9144)
30               - fix segfault when cachedir is unusable (FS#9186)
31               - missing SYMEXPORT on libalpm functions (FS#9155)
32               - notify of package replacements when using --noconfirm (FS#5179)
33               - fix usage of PKGEXT by gensync/updatesync (FS#9190)
34               - ensure correct dir permissions in database (FS#9176)
35               - ensure /tmp is created with correct permissions (FS#9183)
36               - disallow NULL section in parseconfig (reported on forums)
37               - remove Arch-specific pacman.conf and mirrorlist from source
38               - makepkg: --holdver option for devel PKGBUILDs (FS#9194)
39               - documentation updates (FS# 9142, 9146, 9175, 9192, 9204)
40               - many translation updates
41 3.1.0         - paths are now specified as absolute paths (or defaulting to
42                 under the specified root directory)
43               - all paths can be specified in pacman.conf or on command line
44               - updates to pacman clean operation- now cleans uninstalled
45                 packages and old sync DBs (FS#8061)
46               - remove all hardcoded paths and allow them to be set at
47                 configure/build time
48               - single mirrorfile- pacman substitutes the repository name in
49                 mirror file when $repo is found (FS#6389)
50               - New config file options: ShowSize, TotalDownload, IgnoreGroup,
51                 UseDelta
52               - all scripts have been gettext-ized and can be translated
53               - added testdb utility to check pacman DBs for common problems
54               - huge additions to pactest suite
55               - remove -F/--freshen operation
56               - add --ignoregroup option (FS#1592)
57               - --ignore and --ignoregroup accept comma separated lists
58               - add --needed option for --sync
59               - massive optimization and speedup for --owns
60               - add -q/--quiet option for -Ss/-Sl and -Q? output (FS#8470)
61               - add --asdeps option (install reason: dependency) (FS#7193)
62               - replace "Total Package Size" with "Total Download Size"
63                 (FS#4182)
64               - fix -Q options to work on installed packages AND package files
65               - change -Q/--query options to act as filters and increase their
66                 flexibility
67               - -U/-A <url> now downloads to cachedir (FS#6404)
68               - install and build dates are localized
69               - optdepends support
70               - delta support
71               - versioned provisions support
72               - versioned conflicts support
73               - add < and > operators for versioned dependencies and conflicts
74               - bash completion updates
75               - mirrorlist updates
76               - removed ABS script from codebase (now a separate project)
77               - allow multiple pacman cache directories
78               - all manpages are now generated using Asciidoc (FS#7312)
79               - moved parseconfig from backend library to frontend
80               - clean up and refactoring of the ENTIRE codebase
81                 - remove many useless #ifdefs
82                 - split many too-long functions
83                 - portability updates: compiles and passes tests on BSD and
84                   Darwin (switching libdownload->libfetch)
85                 - clean up build process
86                 - use of static code analysis
87                 - memory leak fixes all over the place
88                 - fix overzealous use of macros
89                 - entire codebase builds with -pedantic GCC option
90               - libalpm-specific changes:
91                 - moved location of sync DBs into their own folder to thwart
92                   deletion and remove naming limitations
93                 - REQUIREDBY entries are no longer used in local DB but are
94                   computed on the fly when needed, which should resolve
95                   phantom dependency issues (FS#7639)
96                 - ensure we export everything that should be public
97                 - fix some const correctness issues
98                 - add list tail ptr shortcut to make last element lookups O(1)
99                 - database dates are stored as seconds from epoch
100                 - removed SHA1 support
101                 - drop in new MD5 library
102                 - implement topological sorting for dependencies
103                 - do case sensitive compare in parse_descfile (FS#8081)
104                 - remove hardcoded architectures
105                 - conflicts checking speedups and fixes
106                 - move lockfile location to inside the DB
107                 - remove gettext calls from DEBUG messages
108                 - remove faulty diskspace checking
109                 - move functions out of alpm.c to where they belong
110                 - rewrite of file extraction code (FS#7484)
111               - makepkg-specific changes:
112                 - entire script has been functionalized
113                 - only runs in fakeroot when necessary
114                 - hard linked manpages are now compressed (FS#5392)
115                 - built-in versionpkg support
116                 - arch=('any') support (FS#8153)
117                 - clean up and prettify the output
118                 - replace tar/cpio/unzip with bsdtar (FS#7485)
119                 - add --ignorearch option (FS#7355)
120                 - improved error handling
121                 - downloads straight to $SRCDEST to avoid copies (FS#7271)
122                 - support for multiple download protocols (FS#4404)
123                 - remove --usesudo option, use it by default
124                 - add --asroot option to discourage building as root
125                 - add $srcdir and $pkgdir variables (FS#7278)
126                 - add source package creation option
127               - rankmirrors- allow reading from stdin (FS#8043)
128               - and many other updates: 198 bugs/FRs closed since 3.0.0 release
129               - switch to GIT for source code management
130 3.0.6         - config files updated to reflect current -> core change
131               - fix symlink overwriting issue (FS#7484)
132               - fix config parsing with tr_TR locale (FS#7235)
133               - use AC_SYS_LARGEFILE if available (FS#7578)
134 3.0.5         - add -mtune=generic to default CFLAGS in makepkg.conf
135               - small updates to translations
136               - repo-add: fix conflicts issue for real this time
137               - fix issue with libarchive incorrectly setting permissions
138 3.0.4         - updated translations
139               - repo-add: fix issue where conflicts were not put in database
140 3.0.3         - updated translations
141               - repo-add: fixed a desc file clobbering issue
142 3.0.2         - fix a bug where pre/post_remove scriptlets were not ran
143               - ensure ldconfig is ran in all operations
144               - added a few new translations, updated existing ones
145               - updated mirror lists
146               - makepkg: ensure CFLAGS are exported to build function
147 3.0.1         - fix a locale issue with tr_TR upper/lower-case conversion
148               - allow removal when listing the same package multiple times
149               - fix a repo-add bug that left a .PKGINFO file in the current
150                 directory
151               - proper error messages when we cannot read mtab for freespace
152 3.0.0         - first release based on libalpm backend
153               - added internationalization (gettext) support:
154                 - de, fr, hu, it, pt_BR, en_GB, ru_RU translations
155               - switch to usage of libdownload and libarchive
156               - improved proxy support using libdownload
157               - documentation - man pages updated, new conf manpages added
158               - repository mirror list updates
159               - added support for package changelogs
160               - logging of all install scriptlet messages to pacman.log
161               - orphans search (-Qe) now shows true orphans
162               - new -Qu option - show all packages that can be upgraded
163               - new -Se option - install only dependencies
164               - dependency sorting on install and removal
165               - check for free space before installing packages
166               - prompt to delete corrupted packages
167               - improved backup handling - backup array proactive on upgrade
168               - removed NoUpgrade lines from default pacman.conf
169               - new uncompressed size field, shown on sync upgrade
170               - improved progress and progressbar output
171               - reduced unnecessary calling of ldconfig
172               - selective loading of database to speed up certain operations
173               - debugging output improved with --debug flag
174               - pacman-optimize - now supports DBs on separate filesystem
175               - makepkg and abs now support conf files in home directory
176               - makepkg changes:
177                 - arch field is required
178                 - added -arch suffix to generated package filenames
179                 - new configuration file options format
180                 - changed default configuration
181                 - support alternate integrity checks
182                 - extract files using filetype, not extension
183                 - added noextract array
184                 - new options array format
185                 - new option to log build process
186                 - new --repackage option - repackage pkg/ without building
187                 - user-selectable paths for doc stripping
188                 - configurable source cache location
189                 - dependencies now removed on a build success or failure
190               - abs changes:
191                 - supports both cvsup and csup
192                 - expanded configuration
193                 - added support for testing repository
194               - new helper scripts:
195                 - rankmirrors - shows best available mirrors
196                 - repo-add - adds a package to a repo database file
197                 - repo-remove - removes a package from a repo database file
198               - added pactest testing suite
199               - MANY fixes and small improvements everywhere
200 2.9.8         - Changed behaviour with original=X,current=Y,new=Z scenario
201                 - keep old in place, install new as .pacnew
202               - Search package provides when finding matching targets with -S
203               - Frugalware: added -Qm option to find foreign packages
204               - Frugalware: added DistCC support to makepkg
205               - bugfix: before searching databases for a dependency, make sure
206                 one of the packages in the final list doesn't already provide
207                 that dependency
208               - fix for segfaults that occurred when propagating requiredby
209                 fields to replaced packages where one package depended on
210                 another replaced package
211               - a better fix for pacman-optimize integrity checks
212               - fix for regex searches with -Ss (Miklos Vajna)
213               - added a --noprogressbar for scripts to use
214 2.9.7         - fixed the dupe listings of packages when dealing w/ groups
215               - patches from Miklos Vajna:
216                 - add regexp search support for -Qs and -Ss
217                 - fixed md5sums on x86_64
218                 - add --sudosync to makepkg
219                 - show syntax help if an invalid option is used
220                 - added makepkg option to disable ccache support
221               - changed license field to operate as an array, not a string
222               - added more logic for file conflict checks - if one target
223                 is a file and the other is a directory, then it's a conflict
224               - fixed the integrity check in pacman-optimize
225               - reverted NoUpgrade to old behaviour and instead, added the
226                 NoExtract directive to pacman.conf, which prevents a file
227                 from ever being extracted on to the system
228                  eg, NoExtract = home/httpd/html/index.html
229 2.9.6         - added a pacman-optimize script to try and defragment the DB
230               - modified NoUpgrade behaviour to avoid extracting files
231                 that are missing from the filesystem -- this helps in
232                 situations where the admin does not want the file there, eg,
233                 remove index.html so index.php takes precedence
234               - fixed a bug where files would sometimes go missing if they
235                 moved from one package to another
236               - add db_remove() which is responsible for clearing out stale
237                 hash table entries when packages are removed
238               - added ccache support to makepkg
239               - patch from Aurelien Foret fixes a few memory leaks
240 2.9.5         - bugfix: missing files after re-ordering packages wrt
241                 deps with --upgrade
242               - added "Repository" line to -Si output
243               - patch from Tommi Rantala to fix trim() behaviour with
244                 empty or whitespace-only strings
245               - fixed removal order when using -Rc or -Rs
246 2.9.4         - fixed a bug that was introduced from another bugfix :-/
247 2.9.3         - fixed a couple manpage typos
248               - added --ignore to -S operations, works just like IgnorePkg
249               - respect IgnorePkg list when pulling in dependencies
250               - numerous memleak fixes
251               - some code changes to improve customizability/branding
252               - Makefile fix for nonstandard lib search paths (Kevin Piche)
253               - fixed the leftover directories in /tmp
254               - speed improvement patches from Tommi Rantala
255 2.9.2         - bugfix for 2.9.1 
256 2.9.1         - --refresh now only downloads fresh packages lists if they've
257                 been updated (currently only works with FTP)
258 2.9           - Improved -Rs functionality -- pacman now tracks why a package
259                 is installed: explicitly, or as a dependency for another
260                 package.  -Rs will only remove dependencies that were not
261                 explicitly installed.
262               - Added compressed package size to sync DBs -- shows the total
263                 size of packages before downloading
264               - Patch from Tommi Rantala:
265                 - Allow --info and --list together in queries
266               - Patch from Kevin Piche:
267                 - Use list_add_sorted() with -Sg
268               - Patch from Hegedus Marton Csaba:
269                 - Better manpage compression
270               - Added checks for additional hyphens in package versions
271               - mktemp was failing if %pmo_root%/tmp was missing -- fixed
272 2.8.4         - Added updatesync script from Jason Chu
273               - Changed the pacman binary to be dynamically linked
274                 - Included a pacman.static binary as well
275                 - Added fakeroot checks when seeing if we're root
276               - Fixed makepkg to use 'tail -n 1' instead of 'tail -1'
277               - Added patch from Kevin Piche:
278                 - Cleanup db_loadpkgs(), add list_add_sorted()
279               - Fixed a memory leak in db_find_conflicts()
280 2.8.3         - Fixed a little makepkg bug with bash 3.0
281               - Fixed resolvedeps to always prefer literals over provisios
282               - Added --config option to specify an alternate config file
283               - Added "Include" directive to include repositories from
284                 config files (inspired by Michael Baehr's patch)
285               - Added patch from Jason Chu:
286                 - Even smarter file-conflict checking
287 2.8.2         - Fixed a segfault bug in file-conflict checks
288               - Made --noconfirm actually work.  Go me.
289 2.8.1         - Added a HoldPkg option in pacman.conf, for the more
290                 exploratory users who run things like "pacman -R pacman".  It
291                 will ask for confirmation before removing any packages listed
292                 in the HoldPkg list
293               - Added a --noconfirm switch for use with script automation
294               - Modified dependency resolution to prefer packages explicitly
295                 requested on the cmdline instead of those pulled in by
296                 resolvedeps().  Example, if neither "xorg" nor "xfree86" is
297                 installed and "blackbox xfree86" is requested, "xfree86" will
298                 be used instead of "xorg"
299               - Added patch from Jason Chu:
300                 - Smarter file-conflict checking with symlinked paths and
301                   with files that move from one package to another
302 2.8           - Bugfixes:
303                 - FS#861:  file:/// urls not handled properly with XferCommand
304                 - FS#1003: set umask before scriptlet calls
305                 - FS#1027: download problems with http urls using -U/-A
306                 - FS#1044: segfaults when using -Rs
307                 - FS#863:  "missing post_remove" errors with some packages
308                 - FS#875:  detect low disk space properly
309                 - FS#986:  makepkg -e doesn't validate files
310                 - FS#1010: add -j option to makepkg
311                 - FS#1028: make pacman -Sp runnable as non-root
312               - added pre_install and pre_upgrade scriptlet support
313               - added an "Architecture" field in the package meta-data
314               - added patch from Aurelien Foret which improves performance
315                 adding or removing packages
316               - added implementation of GNU's strverscmp function for better
317                 portability
318               - added explicit unlink() calls when --force is used, which
319                 prevents those nasty "Text file busy" errors when you
320                 force-upgrade something like pacman or glibc.
321 2.7.9         - added the "force" option to packages, so --sysupgrade can
322                 downgrade packages when it needs to
323 2.7.8         - added post_remove scriptlet support
324               - added -Qs option (FS#854)
325               - a provisio does not imply conflict, to make a provisio target
326                 conflict with anything else that provides the same thing, you
327                 can now do this by specifying the provisio target as both a
328                 provides and a conflict, eg:
329                    conflicts=('x-server')
330                    provides=('x-server')
331               - cleaned up the download progress bar a bit
332               - added %o parameter to XferCommand so wget can resume properly
333               - fixed a segfault in downloadfiles() (FS#787)
334               - patches from Oliver Burnett-Hall
335                 - gensync uses a better temp dir (FS#774)
336                 - PKGDEST can be set in makepkg.conf (FS#783)
337               - patches from Aurelien Foret
338                 - segfault fix, couple memory leaks
339                 - more sanity checks in "provides" searches
340                 - fixed a little display bug in the progress bar
341                 - made -Qip look like -Qi
342                 - -Sc now removes OLD packages from cache, use -Scc for all
343 2.7.7         - added an XferCommand directive that will make pacman use an
344                 external download utility like wget
345               - added a license field to package meta-data
346               - add url support to -A and -U operations (download packages)
347               - -Ss now searches thru provides fields
348               - added --dbonly option to -R
349 2.7.6         - added --print-uris option
350               - fixed an http download bug (FS#667)
351               - fixed a segfault related to replaces/conflicts handling
352 2.7.5         - "replaces" packages were ignoring IgnorePkg in pacman.conf
353               - fixed another bug in conflict handling
354               - found an out-dated reference to /usr/abs, fixed
355               - added a --recursive option for package removal, which removes
356                 all deps of a target that aren't required by other packages
357 2.7.4         - fixed a bug in conflict handling, where installing a
358                 conflicting package would fail even if the new package
359                 "provided" it
360               - if pacman sees a newer version of itself during an upgrade,
361                 it will ask to install itself first, then be re-run to upgrade
362                 the other packages.
363               - You can now use the --info option with --sync to display an
364                 uninstalled package's dependency info.
365               - Added a sane umask before db writes
366               - buffer overflow fix (FS#442)
367 2.7.3         - makepkg not longer strips files with .exe or .dll extensions
368               - Added Aurelien's patch:
369                 - proxy support (no authentication yet)
370                 - HTTP/1.1 support
371                 - an improved progress bar with transfer rates and ETA
372               - cleaned up warning output a bit
373 2.7.2         - Supressed "No such file" messages during stripping
374               - Removed extra newlines in /var/log/pacman.log
375               - Added a --noextract option to makepkg to skip source extraction
376 2.7.1         - Fixed a couple obscure segfaults
377               - LogFiles were logging incorrect dates - fixed
378               - Cleaned up md5sum output in makepkg -g
379               - Added (optional) colorized output messages to makepkg
380               - Renamed the "stable" repo to "release" in pacman.conf
381               - Renamed the "unofficial" repo to "extra" in pacman.conf
382 2.7           - Added build-time dependencies to makepkg (Jason Chu)
383               - Added md5sum integrity checking to packages in --sync
384                 mode (Aurelien Foret)
385               - Memory leak fixes (Aurelien Foret)
386               - Added CARCH variable to makepkg.conf for use in PKGBUILDs
387               - Added LogFile option for direct-to-file logging
388               - Added -Qii handling to show modified config files
389               - Allow --sync targets to specify an explicit repository to
390                 sync from (eg, pacman -S current/patch)
391 2.6.4         - Altered pacman_upgrade() to allow a package to replace itself
392 2.6.3         - A couple memory fixes in the new replaces code
393 2.6.2         - Fixed a memory cleanup bug
394               - Aurelien's patch:
395                 - FS#159 implemented (for -S and -R)
396                 - fixed a bug with pacman -Sg (pacman was browsing only one
397                   db to get groups)
398                 - fixed a bug with list_merge()
399                 - fixed some MLK (in dumppkg() and with "-Qi --orphans")
400                 - now "pacman -Sg" only displays groups (without content)
401                   whereas "pacman -Sg target1 target2" displays groups
402                   target1 and target2 with content
403 2.6.1         - Added http download support (Aurelien Foret)
404               - Improved makepkg's --builddeps behaviour when called via
405                 makeworld
406               - makepkg's md5 validation now occurs before source extraction
407               - makepkg delays fakeroot entry until after option parsing
408               - Fixed an argument-passing bug in fakeroot
409               - Modified pacman's behaviour wrt provides -- it now allows
410                 multiple packages to be installed, even if they provide the
411                 same thing (they were treated as conflicts before)
412 2.6           - Added group handling, so one can run 'pacman -S kde' and
413                 install all files from the KDE group
414               - Fixed a duplication bug in cascade package removal
415               - Added support for virtual provisions with "provides" tags
416               - When conflicts are encountered, pacman now offers the chance
417                 to remove the conflicting packages (provides or literals)
418               - Added support for renamed/combined packages with a "replaces"
419                 tag
420               - Added --nostrip option to makepkg
421               - Improved --search to list all packages from all repos when
422                 a search term is omitted
423               - Added logging support through syslog()
424               - Added fakeroot support to makepkg (RomanK)
425               - Added MD5sum generation/validation to makepkg (RomanK)
426               - Fixed a progress bar bug (Aurelien Foret)
427               - Sorted makepkg's .FILELISTs (Aurelien Foret)
428               - Targets are now re-ordered w.r.t. dependencies when
429                 using -A/-U
430               - Modified --search to work when called as -Sys
431               - Modified abs to use ABS_ROOT from /etc/abs/abs.conf (Aurelien)
432               - Other bug fixes
433 2.5.1         - Minor bug fixes
434 2.5           - Added an URL tag to package info
435               - Sped up package load times by about 500% by introducing
436                 a .FILELIST into the package
437               - Renamed the install scriptlet from ._install to .INSTALL
438               - Added patch from Aurlien Foret:
439                 - Better lock handling (RW and RO)
440                 - Sorted package order in -Qi's dependency lists
441                 - Added a DBPath option to pacman.conf
442                 - Fixed memory leaks
443                 - Added the --nodeps option to -S
444 2.4.1         - Fixed a bug in makepkg's option parsing
445 2.4           - Added getopt-style options to makeworld
446               - Added -w <destdir> to makepkg
447               - makeworld now properly handles packages with --builddeps
448               - Added patches from Aurelien Foret:
449                 - Cascading package removals. -Rc will remove a package and
450                   all packages that require it
451                 - Support for getopt-style options in makepkg
452                 - the REQUIREDBY field is now updated when a package is
453                   removed with --nodeps, then re-installed.
454                 - Avoids duplicate dependency checks with sync
455                 - Added a "NoPassiveFtp" option in pacman.conf
456                 - Improvements to the --query listings
457 2.3.2         - Added patches from Aurelien Foret:
458                 - FTP resume feature
459                 - removed the hit-^C-and-delete-the-downloading-file safety
460                 - IgnorePkg option in pacman.conf
461                 - FTPAGENT setting in makepkg.conf
462                 - Added --cleancache option to makepkg
463 2.3.1         - Fixed the progress bar overflow
464               - Pacman does not ask "Are you sure" when you use --downloadonly
465               - Switched up a couple makepkg options to be more consistent
466                 with pacman's options
467               - If you ^C out of a file download, the package will now be
468                 removed from the cache directory
469 2.3           - The beginnings of source-side dependency resolution, makepkg
470                 can now either A) download/install missing deps with pacman
471                 -S; or B) find missing deps in the /usr/abs tree and
472                 build/install them.
473               - Added a --nodeps option to makepkg
474               - Improved the --search output
475 2.2           - More bugfixes
476               - Added --downloadonly switch to --sync
477 2.1           - Lots of bugfixes
478               - Added support for multiple repositories
479               - Improved the config file layout
480               - Improved dependency resolution and sorting
481 2.0           - Added dependency functionality
482               - Completely new database format, similar to FreeBSD
483               - Better internal data structures
484               - Merged pacsync functionality into pacman
485               - Now uses libftp for all file retrieval (currently only ftp)
486               - Automatic dependency resolution, a la apt-get
487               - Moved config stuff from /etc/pacsync.conf to /etc/pacman.conf
488               - Much better backup file handling, now uses md5 hashes a la rpm
489 1.23          - Added install/upgrade/remove scripting control
490 1.22          - Some manpage typo fixes
491               - Added --root switch to pacsync
492               - Added --help and ability to specify a PKGBUILD to makepkg
493               - Switched default downloader to snarf
494 1.21          - Added better backup control -- upgrade/add and remove
495                 do different things with the -n switch
496 1.2           - Added wildcard handling
497               - Added man pages for makepkg and pacsync
498               - Added the pacsync utility for remote file fetching/sync
499 1.1           - Fixed some string-handling bugs
500               - Added better handling of configuration files and the like.
501                 If "file" is about to be removed, but it is designated to
502                 backed up, then it will be copied to "file.save"
503               - Changed db_find_conflicts() to ignore directories
504 1.0           - Initial Release
506 vim: set et spell spelllang=en_us: