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