Skip to content
Snippets Groups Projects
NEWS 100 KiB
Newer Older
Judd Vinet's avatar
Judd Vinet committed
VERSION         DESCRIPTION
-----------------------------------------------------------------------------
Allan McRae's avatar
Allan McRae committed
6.1.0         - Add cache server support
              - Improvements to --sysroot option - NOTE: targets to -U are no
                longer interpreted relative to sysroot
              - Add more format specifiers for --print operations
              - Add extended data field for arbitrary package data
              - Do not run hooks with --dbonly
              - Provide more details when encountering file conflicts or
                corrupt packages
              - Improved WKD support (FS#73703, FS#73534)
              - Improved handling of malformed download headers (FS#73704)
              - Use openssl interfaces for calculating sha256 and md5 sums
              - Fix multi download bar chomps
              - makepkg:
                - Replace libdepends and libprovides with autodeps
                - Support configuration via makepkg.conf.d drop-ins
Diego Viola's avatar
Diego Viola committed
                - Add GITFLAGS environment variable to customize checkouts
Allan McRae's avatar
Allan McRae committed
                - Add -D option to change directory before building
                - Implement verify() function for custom source verificaton
                - Add checksum support for git/mercurial/bzr sources
                - Improved stripping and debug package support
                - Configurable LTO support
                - Add source signing PGP keys to package if available
                - Store "pkgtype" in xdata
                - Remove md5sum from mtree files
                - Document MAKEPKG_LIBRARY
              - repo-add:
                - Do not include package signature details in the repo. Add
                  the --include-sigs to revert to old behaviour.
                - Do not add md5sum to the repo database
6.0.1         - Prevent download error pages ending up in package files
                (FS#71083)
              - Give -U downloads a random .part file name if needed
                (FS#71464)
              - Fix downloading signatures with redirecting URLs (FS#71148)
              - Fix double free when importing PGP keys (FS#71107)
              - Ensure signature files are named after original file
                following redirects (FS#71274)
              - Order downloads by size - largest to smallest (FS#70172)
              - Fix reproducibility of man pages (FS#71154)
              - makepkg:
                - Fix stripping debug symbols with binutils 2.37 (FS#71722)
                - Export PYTHONHASHSEED for reproducible python packages
              - pacman-key:
                - Quieten trust db checks.
6.0.0         - internal downloader can retrieve files in parallel (FS#20056)
              - an additional progress bar is added to track total download
                progress.  This replaces the previous TotalDownload option.
              - fix download rates becoming negative
              - skip mirror servers with too many errors (FS#29293)
              - package signatures are always retrieved even if signature is
                embedded in repo database or package is in cache (FS#33992)
              - detached package signatures found in CacheDir can be used to
                verify packages if signature is not in the database. Also
                verify packages checksums from repo db when using detached
                signatures.
              - add support for multiple 'Architecture' values
              - -Qkk now validates file checksums in addition to date/size
              - colored upgrade summary now dulls version numbers for contrast
              - libalpm frontends can now supply context to callbacks (FS#12721)
              - support xattr when extracting packages
              - allow setting --noprogressbar in pacman.conf
              - fix output alignment for CJK translated text (FS#59229)
              - fix reading targets from stdin when using --sysroot (FS#68630)
              - fix deleting signatures for existing databases with -Sc
              - check for and forbid duplicate download filenames (FS#67850)
              - -Fx now reports error for invalid regex
              - remove support for the autotools build system
              - meson: properly compile internal symbols as hidden
              - meson: make -uninstalled.pc correct
              - fix build errors on systems like FreeBSD
              - makepkg:
                - add link time optimization support to makepkg
                - add support for sources using the fossil VCS
                - allow specifying alternative authentication commands when
                  running pacman as root (FS#32621)
                - support zstd decompression for sources
                - strip: fix removing file attributes such as xattr
                - switch to CRC as default integrity checksum
                - record $startdir for reproducible builds
                - record name of build orchestration tool for reproducible builds
                - fix signing of source packages
                - add optional argument support to parseopts
                - reduce dependency on file for detecting ELF files
                - remove dependency on GNU sed
                - avoid trailing whitespace in --printsrcinfo output
                - libprovides: don't provide both versioned and unversioned
                  sonames
                - don't double-layer distcc on ccache
                - fix detection of source file names for debug packages with
                  gcc 11
                - strip: silence warnings emitted by readelf while detecting
                  source filenames
                - fix use of spaces in source file renaming (FS#70254)
              - pacman-key:
                - --refresh-keys queries WKD before keyserver
                - be less noisy when populating the keyring (FS#64142)
                - warn about time taken for master key generation
              - repo-add:
                - support the same compression methods as makepkg
              - zsh completion: add pacman-conf support
              - various documentation updates
              - after a decade and a half of promising libalpm.3 documentation
                "once we get around to doing good Doxygen documentation", it
                has happened!
Andrew Gregory's avatar
Andrew Gregory committed
5.2.2         - fix pacman test suite under python 3.8
              - only prompt to import new keys once in a transaction
              - fix handling of fully downloaded .part files
              - increase maximum database size (FS#65197)
              - fix segfault in alpm_option_set_assumeinstalled
              - change config parsing warnings to errors to match actual
                behavior
              - fix key extraction for signatures with two-octet sub-packet
                headers
              - fix documentation typos (FS#67000)
              - change master signing key to RSA4096
              - improve error message when building without autoconf-archive
              - pacman-conf:
                - allow querying ILoveCandy individually
                - fix querying NoExtract individually
              - makepkg:
                - fix seccmp-related error while stripping binaries (FS#65100)
                - fix extraction of file:// sources (FS#64648)
                - allow $pkgname in install and changelog file names (FS#64932)
                - sort libprovides for reproducibility
                - strip: don't re-add the same debug source multiple times
                - error on empty refspecs in git sources
                - correctly handle missing download clients
                - fix splitting multi-line error messages across stdout and
                  stderr
                - handle GPGKEY with spaces (FS#66949)
                - do not accept public-only keys for signing
              - repo-add:
                - handle GPGKEY with spaces (FS#66949)
                - do not accept public-only keys for signing
5.2.1         - fix segfault on importing PGP keys for -U operations
              - fix distribution of meson files
              - fix inode command for darwin/bsd
              - distribute all documentation files
              - update bash/zsh completion for -F changes, remove --force
              - makepkg:
                - fix calculation of package sizes in presence of hardlinks
                - do not warn about PACKAGER format if not set
                - only run --clean when a package is built
              - repo-add:
                - fix compression of databases with zstd (FS#64213)
5.2.0         - completely remove delta support (CVE-2019-18183)
              - add support to pacman and pacman-key for downloading PGP
                signing keys using the WKD protocol (FS#63171)
              - completely remove the --force option
              - renovate and simplify the UI for -F (FS#47949)
              - hooks: rename type File to Path, for accuracy
              - add the meson build system as an alternative to autotools, and
                distribute it in autotools dist tarballs
              - switch from system() to exec() when using alternative download
                agents for XferCommand; this prevents a potential source of
                shell injection (CVE-2019-18182)
              - ignore .hook suffix when sorting libalpm hooks
              - update the minimum requirement of bash to 4.4
              - scripts: pass on options such as set -x to child processes
              - show group and installed status during -Fs
              - user-visible log when validity check fails due to access
              - port pactest to python3
              - process --needed before group selection when resolving the
                dependencies to prompt for (FS#22870)
              - don't error when a group exists but all packages are ignored
              - bash completion now completes when it should, and doesn't
                complete when it shouldn't (FS#59965)
              - improve error message when gpg support is missing (FS#60880)
              - don't emit confusing errors when a package is simultaneously
                replaced and upgraded (FS#50875, FS#55534)
              - better warning message when skipping duplicate targets
                (FS#49377)
              - libalpm: parse {check, make}depends when reading database
                (FS#60347)
              - add [ignored] to -Qu output for packages in repos that are not
                Usage = Upgrade (FS#59854)
              - prevent 301 redirect loop from hanging libalpm
              - use standard, consistent units in the download progress
                (FS#59201)
              - fix segfault when Usage is specified without a value
              - include timezones in pacman.log
              - bash-completion: use POSIX character classes for portability
Diego Viola's avatar
Diego Viola committed
              - correctly report a download failure for 404s
              - fix handling of signals during SIGSEGV
              - fix buffer overread in pacman/callback
              - fix crash when downloading files with a Content-Disposition
                that has no directory component
              - pacman-conf, testpkg are now properly localized
              - when -F returns zero results, set a failing exit code
              - improve wording for the error message when a package cannot be
                removed due to dependencies
              - fix segfaults and other incorrect behavior when using -Qip if
                pacman was compiled without GPGME support
              - makepkg:
                - implement extendable source/signature verification routines
                  within libmakepkg (FS#49076)
                - if pacman is in use, wait until it is available before
                  continuing (FS#28840)
                - add support for lzip, lz4 and zst compressed packages
                  (FS#56676, FS#59081)
                - add new checksum algorithm, b2sum
                - various improvements to PKGBUILD linting
                - when signing packages, report package filename on failure
                - fix pkgver() function not aborting on errors
                - remove checksum algorithm whirlpoolsum as it has not worked
                  for a long time
                - reject PKGBUILDs with both split and non-split package
                  functions
                - send status messages to stderr rather than stdout (FS#17173)
                - ensure debug buildflags are unset when they are supposed to be
                - buildenv and executable detection, definitions for the
                  PKGBUILD schema, and makepkg.conf loading are now part of
                  libmakepkg
                - fix broken check for the fakeroot binary
                - improve the error message for invalid dependency versioning
                - add routine for linting $SOURCE_DATE_EPOCH
                - fix the error code when no PKGBUILD exists
                - use --unneeded when removing build deps to allow runtime-only
                  deps to work well with makepkg -sir (FS#32723)
                - compute package sizes correctly across different filesystems
                - use shared clones for git sources to save space when building
                - fix reporting of invalid archive extensions
                - correctly handle hg sources with updates on a non-default
                  branch
                - install pkg-config file for libmakepkg's library directory
                - propagate error codes when package failed to sign correctly
                - be compatible with file 5.37's application/gzip MIME type
                - forbid non-ASCII pkgname and pkgver (FS#49342)
                - fix exiting on failure without ensuring dependencies are
                  prompted for removal (FS#63000)
                - quiet superfluous warnings for missing debug source files for
                  artificial symbols
                - add routine for linting $PACKAGER to check that it has a
                  valid name and email address, and document the desired format
                  in makepkg.conf(5)
                - add rust support for *FLAGS and debug-prefix-map
                - correctly handle a system file command with seccomp enabled
                  (FS#58626)
                - try to more thoroughly clean up logpipe during unusual exit
                  states such as CTRL-C
                - when installing packages with -sir, be more robust against
                  conflicting makedepends by always uninstalling them first
                - fix exit code when removing deps fails
                - reproducible builds: suppress filesystem-specific archive
                  metadata from built packages as they are not needed
              - pacman-key:
                - just accept one file to verify, and enforce detached sigs
                  (FS#52022)
                - after recent GnuPG updates, ensure the Web of Trust is still
                  used
                - clean keys during import to reduce size consumed by unusable
                  signatures
              - repo-add:
                - add support for zst compressed databases
                - print the name of the database when extracting
                - do not infinitely loop on malformed arguments with embedded
                  globs
                - add option to prevent downgrading (FS#17752)
              - various documentation updates
5.1.3         - Sanitize file name received from Content-Disposition header
                during -U (CVE-2019-9686)
Andrew Gregory's avatar
Andrew Gregory committed
5.1.2         - pacman-conf: add missing DisableDownloadTimeout support
              - Include version when checking optdepend install status
                during -Qi (FS#60106)
              - Improve error message for unresolvable urls (FS#48285)
              - Do not raise SIGINT when a downloaded file exceeds the expected
                size
              - Fix previous download interruption status carrying over to new
                downloads
              - Reset known signal handlers before running install scripts or
                hooks (FS#56756)
              - Properly handle signal interrupts while running install scripts
                or hooks (FS#60396)
              - Allow explicitly disabling signature checks when compiled
                without signature support (FS#60880)
              - makepkg: fix linting error on environment variables (FS#60681)
Allan McRae's avatar
Allan McRae committed
5.1.1         - Allow full path including root prefix to be passed to
                --overwrite
              - Revert deprecation of --root
              - Document comment syntax restrictions in pacman.conf
              - makepkg:
                - handle pre-existing directories when checking for write
                  permissions
                - reduce restrictions on pkgver in depends listings (FS#58776)
                - permit versioned optdepends
                - remove unintended chmod of $BUILDDIR (FS#58790)
                - fix issue when $startdir was not an absolute path (FS#58865)
                - fix syntax error when $pkgname is empty
                - fix --nocolor being passed to pacman (FS#58820)
                - fix issues with trap handling
                - fix several issues with debug packages (signing, printing of
                  package names, clearing of global package options, source
                  file inclusion)
                - fix --help text for --packagelist
              - pacman-conf: Fix detection of Usage option
5.1.0         - Add new --overwrite option and deprecate --force. This accepts a
                glob pattern with far more control than the widely abused force
                option which mostly just causes issues (FS#31549)
              - Add new --sysroot option and deprecate --root. This uses the
                guest configuration instead of the host configuration, which is
                what most people erroneously thought --root would do
              - introduce a 'disable-download-timeout' option
              - remove contrib - this is now maintained in a separate project
              - report the owner of an existing file, if any, when erroring out
                on a file conflict
              - resolve cyclic dependencies when calculating unneeded dependency
                trees (FS#41031)
              - report the needed command to download missing databases for the
                -F and -S actions
              - don't error if -Qo cannot find the file it is querying on disk
                (FS#55856)
              - support new-style OpenPGP format packets lengths
              - support EDDSA from gpgme 1.7.0
              - fix continuously trying to open invalid databases and reporting
                excessively excessive redundant error messages excessively
              - fix the download callback erroneously reporting itself too many
                times with --noprogressbar, or reporting inaccurate times for
                small files (FS#56408, FS#56468)
              - fix erroneous negative speed in download progressbar (FS#43434)
              - parse stdin as newline-separated instead of whitespace-separated
                (FS#52992)
              - when printing urls in the package cache, print the file url
                instead (FS#15868)
              - add color to group selection dialogs and -{F,Q}o
              - the -Q option now respects provides (FS#20650)
              - remove notification of system upgrade when only printing URLs
              - print replacements when using -Sup (FS#35812)
              - fix -Qk and -r checking for the root prefix twice (FS#48563)
              - Do not recognize # as a comment unless it is at the beginning of
                a line. This allows using it as a value in ini files (FS#48702)
              - ignore comments when examining INSTALL files (FS#51916)
              - match multi-byte user input properly (FS#47992)
              - abort transactions if even one database fails to sync (FS#47599)
              - do not resolve uid/gid to names when extracting files with -r
              - --dbonly now properly extracts metadata files (FS#52052)
              - remove support for internal checksumming implementations, and
                require at least one of openssl or nettle to exist
              - consider provides to satisfy optdepends when warning for removal
                or logging new optdepends during a transaction, as was already
                the case for -Qi
              - -Dk now reports if it is successful (FS#50087)
              - consider version for optdepends (FS#44957)
              - remove vim modelines in favor of EditorConfig
              - implement pacman-conf, a new tool to safely parse pacman.conf,
                and use it in internal scripts
              - bash completion now completes -Qn
              - various small documentation updates
              - makepkg:
                - Reproducible build support. makepkg now respects environment
                  SOURCE_DATE_EPOCH when creating package metadata, and unifies
                  source file timestamps to match
                - add more info to .BUILDINFO to aid in reproducing the build
                  environment of a package
                - it is now possible to check the signature of VCS sources
                  (currently only git is supported)
                - use informative exit codes when exiting with errors (FS#54204)
                - lint_pkgbuild has vastly improved linting of pkgname and
                  variables that can contain pkgname/pkgver (FS#57833)
                - implement linting for makepkg.conf
                - fix using libmakepkg in external scripts without extglob
                - fix handling of configurable directories e.g. PKGDEST to align
                  with their documented behavior, and consistently check that
                  they can be used (FS#43537)
                - parseopts, srcinfo, and integrity are now part of libmakepkg
                - consistently use coreutils for checksumming instead of openssl
                  (which may be replaced by nettle in pacman)
                - lint build_references now prints affected filenames (FS#31558)
                - lint_package can now abort on fatal packaging errors
                - lint_package now checks for filenames with newline characters
                - lint_package now checks for root-level /.dotfiles
                - debug packages are now per pkgbase, not per pkgname
                - debug packages now contain source files to allow the debugger
                  to step through code
                - remove optipng and upx support - these can now be plugged into
                  libmakepkg
                - fix emptydirs support with newer findutils (FS#48515)
                - ignore architecture for --printsrcinfo
                - makepkg --printsrcinfo now correctly lists depends_$CARCH
                  instead of merging this into depends
                - fix bug in is_array that broke packages with arch-dependent
                  sources only (FS#48340)
                - move package signing outside of fakeroot which is incompatible
                  with recent gnupg versions (FS#49946)
                - makepkg --clean now cleans up logfiles (FS#51039)
                - when using $PKGDEST, do not symlink build artifacts into
                  current directory
                - --packagelist now lists the built filenames, rather than all
                  possible basenames without extensions
                - fix --geninteg not properly ignoring renamed signature files
                - use localized date strings
                - ensure sane umask is set both before and after installing deps
                - adapt to file(1) changes in order to continue to strip PIE
                  executables
              - repo-add:
                - don't recreate the database when only verifying signature
                  (FS#48085)
                - fix error when repo directory path contains spaces (FS#50285)
              - pacman-key:
                - reject armored signatures
                - don't set a default keyserver, deferring to gpg's sane default
                - disable scdaemon as we don't use it and it breaks --lsign when
                  a smartcard is plugged into the machine
              - vercmp:
                - remove duplicate, undocumented --usage option
                - fail when the wrong number of arguments are used (FS#49093)
Andrew Gregory's avatar
Andrew Gregory committed
5.0.2         - fix database file checks with -Qkk and non-standard root
                (FS#48563)
              - improve optdepend detection for status messages (FS#44957)
              - make Y/N prompt multi-byte-character aware (FS#47992)
              - properly detect dependency cycles with --recursive (FS#41031)
              - improve free disk space calculation (FS#37402)
              - extract database files with --dbonly (FS#52052)
              - repo-add:
                - do not alter the database if only verifying signature
                  (FS#48085)
                - fix error for directories containing whitespace (FS#50285)
              - makepkg:
                - fix building packages with only architecture-specific
                  sources (FS#48340)
                - ignore PKGBUILD architecture for --printsrcinfo
                - do not die on non-empty directories under !emptydirs
                  (FS#48515)
                - preserve checksum type for architecture-specific sources
5.0.1         - fix alignment issues with wide character locales (FS#47980)
              - fix removal of .pacnew files (FS#47993)
              - fix triggering of Install hooks (FS#47996)
              - fix handling of stdin scripts called by pacman
              - hook activity is logged
Morgan Adamiec's avatar
Morgan Adamiec committed
              - documentation updates for alpm-hooks (FS#48080)
              - makepkg:
                - increase robustness of variable array checks
                - makepkg -g does not perform current architecture checks
                - do not run prepare() with --noextract
                - all directories in the packaging directory are cleared
                  before each build
                - fix translations issues (FS#48057, FS#48298)
              - repo-add:
                - fix checking for non-existent database
              - contrib:
                - zsh_completion: updated makepkg options
Allan McRae's avatar
Allan McRae committed
5.0.0         - pacman can run hooks pre- and post-transaction. See the
                alpm-hooks(5) man page for details and an example hook (FS#2985)
              - pacman can now sync and read .files databases (-Fy) and do basic
                searching for files in sync repos (-Fs, -Fo) (FS#23787)
              - pacman can check the validity of the local and sync databases
                (-Dk and -Dkk respectively).  This replaces the 'testdb'
Allan McRae's avatar
Allan McRae committed
                software (FS#42444)
              - the package description output (-Si ,-Qi) is now correctly
                aligned regardless of locale (FS#43983, FS#45997)
              - ensure internal package version matches database version after
                downloading (FS#45687)
              - improved signal handling and lock file removal (FS#45995,
                FS#46375, FS#47011)
              - print more information when encountering dependency errors
              - improved configuration parsing with a new ini parser
              - handle a symlink to a directory being replaced by a directory
              - The 'pkgbase' variable is now recorded in the local package db
              - Remove support for ".pacorig" files.  Instead, packages files
                are extracted as a ".pacnew" and the original stays in place
              - prevent install scriptlets using stdin for user interaction
              - provides are considered when displaying optdepends install
                status (FS#36412)
              - always update corrupt database whether or not a newer version
                is found on the remote server
              - fix build issues when libarchive was in a non-standard location
              - Many issues found using Coverity were address (primarily freeing
                memory on error conditions)
              - The pactest suite was upgraded to allow parallel testing using
                the tap.sh library
              - makepkg:
                - makepkg is in the process of being split into a library. This
                  allows various areas to be extended by adding a file into
                  libmakepkg (e.g. package/PKGBUILD checking, adjusting
                  files before creating the final package).
                - PKGBUILD variables checked to be arrays or not as appropriate
                - pkgver() and prepare() are now run with --noextract (FS#43498,
                  FS#46800)
                - the ability to build a single package in a PKGBUILD has been
                  removed
                - the output when checking checksums for architecture specific
                  sources is improved (FS#43444)
                - improved handling of bazaar sources (FS#43448)
                - fix source package signing with SRCPKGDIR set
                - add option to compress png images with optipng
                - add --packagelist option, which lists all packages build from
                  a PKGBUILD
                - add --printsrcinfo flag to print SRCINFO file for a PKGBUILD
                - record build information in a .BUILDINFO file
                - add whirlpool to list of hashing options (FS#45859)
              - makepkg-template:
                - support multiple --template-dir
                - added a testsuite
              - repo-add:
                - Always generate the .files database
                - Only update database if the entire operation succeeds
                - unarmored package signatures are rejected
              - contrib:
                - checkupdates: give error when fakeroot is missing
                - checkupdates: provide packages versions in output
                - checkupdates: fix failure in some locales (FS#40405)
                - paccache: Add -q/--quiet
                - pacdiff: do not require DIFFPROG for -o/--output (FS#46184)
                - zsh_completion: updated to fix many missing options
4.2.1         - Remove warnings about incorrect directory ownership until
                packaging files with dynamic users/groups is improved
              - Do not require a specific automake version when building from
                the source tarball (FS#43655)
              - A number of typos and translation errors have been fixed
                (FS#43257, FS#43280, FS#43279, FS#43617, FS#43739)
              - set sane umask in pacman-db-upgrade (FS#43200) and make it
                more verbose
              - Use correct permissions when creating the log file
              - Fix memory management for file list storage
              - Set package origin when adding to db cache
              - makepkg:
                - Fix error when encountering an expired PGP key (FS#43269)
                - Fix error extracting PKGBUILD attributes (FS#43387)
                - Fix removal of static libraries when the shared library
                  uses the absolute path in symbolic links (FS#43395)
                - Improve Bazaar cloning (FS#43448)
Morgan Adamiec's avatar
Morgan Adamiec committed
                - Fix issues with architecture dependent checksum
                  verification (FS#43192)
Morgan Adamiec's avatar
Morgan Adamiec committed
                - Fix .SRCINFO file with architecture dependent fields
                  (FS#43247)
                - Fix compatibility with older bash versions
                - Allow git checkouts to be downloaded into directory ending
                  with ".git".
              - contrib:
                - updpkgsums no longer changes file permissions (FS#43272)
                - paccache does not remove all packages on libalpm error
                  (FS#43286)
4.2.0         - symlinks to directories on the filesystem are no longer
                treated as directories
              - pacman-db-upgrade - fix local database for files installed
                into directory symlinks
              - added --assume-installed option to help upgrades where not all
                installed packages have been rebuilt
              - --unrequired now filters needed optdepends too. Use twice
                to only filter direct dependencies
              - improved dependency resolving ensures correct ordering when
                installing updates (FS#32764)
              - A new configure keyword Usage can limit what operations a
                repository is used for
              - NoExtract and NoUpgrade can use inverted pattern matches
                (FS#31749)
              - Group queries can be filtered with --explicit/--deps (FS#19716)
              - Filesystem checking now only produces a warning for altered
                backup files (FS#34739)
              - pacman prints a warning if an installed directory has different
                permission to that already on the filesystem (FS#34740)
              - both current and new versions are displayed when querying
                updates
              - --print-format now implies --print
              - package scriptlets are not run when using --dbonly
              - invalid option combinations cause pacman to abort (FS#20950)
              - improve output when a package is missing a required signature
                (FS#28014)
              - PGP signature key IDs are listed with -Sii (FS#34742)
              - indicate ignored packages in -Qu output
              - use appropriate file size units with -Si/-Qi
              - plugged several memory leaks
              - read filelists from a packages .MTREE file if possible
              - ensure packages have all the required metadata before installing
                (FS#35514)
              - always remove lock file on exit (FS#35603)
              - fix overflow in integrity checking progress bar (FS#36608)
              - ensure downloads use correct filename even if the mirror uses a
                redirect (FS#36791)
              - cache PGP key IDs during availability checking (FS#38042)
              - fix reading responses with leading whitespace (FS#39976)
              - fix potential issues when handling of UTF8 filenames
                (FS#40805, FS#40762)
              - makepkg:
                - PKGBUILDs can now specify architecture specific sources,
                  dependencies, etc.
                - A .SRCINFO file is added to source packages for easy parsing
                - VCS package building attempts to be incremental (FS#35050)
                - bzr sources can have a '+' in them (FS#35244)
                - allow sources containing "::"
                - add --noprepare option
                - add -C/--cleanbuild option (FS#17175)
                - add --noarchive option
                - remove --asroot and enforce fakeroot usage
                - all PKGBUILDs require a package() function
                - PKGBUILDs can no longer be read from stdin
Diego Viola's avatar
Diego Viola committed
                - enable make-style environment variable overrides
                - Read CARCH environment variable (FS#35030)
                - makedepends and checkdepends are installed together (FS#31557)
                - added support for sha224 checksums (FS#36776)
                - remove warning when license is not specified in PKGBUILD
                  (FS#37011)
                - only remove static libraries if they have a shared version
                - prevent makepkg creating armored signatures (FS#38503)
                - support stripping kernel modules
                - support the kernel.org PGP signing scheme (FS#31592)
                - sign created source package when using --sign
                - enforce source signatures to be trusted or have their full
                  fingerprint listed in the validpgpkeys array of the PKGBUILD
                - look for configuration in XDG_CONFIG_HOME/pacman/makepkg.conf
                  (FS#43030)
                - ensure vcs tools are available when source entries require
                  them
                - disallow pkgver/pkgrel/epoch overrides in split packages
                - improve parsing of PKGBUILD variables (FS#40361)
              - makepkg-template - new package build templating utility
                (FS#10375)
              - repo-add:
                - add option to remove package files from disk
              - contrib:
                - checkupdates: rename CHECKUPDATE_DB to CHECKUPDATES_DB
                - pacdiff: add a "Quit" option, and many other improvements
                - pacsysclean is removed
Morgan Adamiec's avatar
Morgan Adamiec committed
4.1.2         - validate %FILEPATH% when parsing repos to prevent arbitrary
Allan McRae's avatar
Allan McRae committed
                file overwrites from malicious databases
              - makepkg:
                - restrict package name from starting with a dot
                - fix BZR source revision support (FS#35281)
                - Use LOGDEST for log pipe
                - fix distcc disabling (FS#35741)
                - correct stat usage on BSD/Darwin (FS#35469)
              - pacman-key:
                - Do not reinterpret keys from revoked keyrings
              - contrib:
                - paccache: remove broken su privilege escalation (FS#35173)
                - pacscripts: update for current pacman options
                - checkupdates: be consistent with naming (FS#35755)
4.1.1         - fix bug causing negative "Total Installed Size" (FS#34616)
              - report libalpm version it is pkg-config file (FS#34967)
              - various translation fixes and updates (FS#34395, FS#34704,
                FS#34716, FS#35097)
              - makepkg:
                - improve SVN VCS PKGBUILD handling (FS#34675, FS#34636)
                - allow "lp:" URLs for BZR sources (FS#34650)
                - prevent pkgver() capturing stderr (FS#34974)
                - fix attempt to remove package twice on failure (FS#34672)
              - contrib:
                - fix privilege escalation in paccache (FS#34656)
Allan McRae's avatar
Allan McRae committed
4.1.0         - check file properties when using -Qkk (FS#11091)
              - add color to pacman output - new configuration option "Color"
Allan McRae's avatar
Allan McRae committed
              - add informational messages for optdepends installation
                status (FS#13035, FS#27116)
              - add number suffix to pacsave files instead of overwriting
                (FS#24192)
              - improve needed key importing for Upgrade (FS#26520)
              - add options to specify require signature level for
                Upgrade operations (FS#26729)
              - directory ownership can be queried
              - allow wildcards in NoUpgrade, NoExtract, IgnorePkg,
                IgnoreGroup and HoldPkg (FS#20360, FS#18988)
              - remove -f short option for --force
              - SyncFirst option has been removed (FS#26445)
              - offer to delete downloaded packages failing signature check
                (FS#28014)
              - configure shell for running install scriptlets (FS#20557)
              - make path to ldconfig configurable
              - display repo in VerbosePkgLists output
              - do not check file conflicts or disk space with --dbonly
Allan McRae's avatar
Allan McRae committed
                (FS#25667)
              - UseDelta takes a ratio for the largest delta to use
Allan McRae's avatar
Allan McRae committed
              - track how installed packages were validated (FS#28040)
              - add pkg-config file for libalpm
              - avoid false ownership matches for files in / (FS#30388)
              - only load filesystem space information when needed
              - allow leading "local/" in query options
              - allow cleaning only some cachedirs
              - do not remove source package and package databases from
                cache (FS#25166)
              - improve conflict checking with directory symlinks (FS#30681)
              - remove Cygwin support
              - add program prefix to pacman log entries
              - add --native filter to pacman -Q
Allan McRae's avatar
Allan McRae committed
              - makepkg:
                - require bash>=4.0
                - support for VCS URLs (git, bzr, svn and hg) (FS#7816,
                  FS#8890, FS#13727, FS#15895, FS#16384, FS#16872, FS#19459,
                  FS#19476, FS#20841, FS#21098, FS#28605)
                - split debugging symbols into separate package (FS#10975)
                - use SKIP in checksums to skip integrity check (FS#19735)
                - add prepare() function to PKGBUILD (FS#30582)
                - add pkgver() function to auto-update pkgver/pkgrel
                - pkgrel must be in decimal format
                - PKGBUILDs without package() functions are deprecated
                - support specifying CPPFLAGS in makepkg.conf
Diego Viola's avatar
Diego Viola committed
                - support PACKAGER environment variable
Allan McRae's avatar
Allan McRae committed
                - allow source renaming to work on signature files
                - configurable compression options (FS#27430)
                - allow multiple packages to be build when using
                  BUILDDIR (FS#28417)
                - add makedepends/checkdepends information to .PKGINFO
                - url can be overridden in split packages
                - allow wildcards in PURGE_TARGETS
                - pass --asdep and --needed flags to pacman when installing
                - use last match in BUILDENV/OPTIONS arrays (FS#26701)
                - fix "arch" handling in split packages (FS#27204)
                - add LOGDEST configuration option
                - install makedepends with --repackage
              - repo-add:
Diego Viola's avatar
Diego Viola committed
                - honor TMPDIR environment variable
Allan McRae's avatar
Allan McRae committed
                - add makedepends/checkdepends information to database
              - pacman-key:
                - fix importing keys with quotes in file name (FS#28445)
                - allow verification of multiple sig files
                - add zsh completion (FS#29062)
              - pkgdelta: add ratio and package size limits
              - pactree: improve output
              - contrib:
                - updpkgsums: update checksums in a PKGBUILD
                - checkupdates: new - safely check for package updates
Allan McRae's avatar
Allan McRae committed
                - pacsort: add --files option to support parsing filenames
                - pacdiff: improve usability
                - add zsh completion
4.0.3         - frontend database cleanup enhancements (FS#28714)
              - frontend package cleanup enhancements (FS#25166)
              - back out changes related to SyncFirst in 4.0.0
                - remove recursive/needed automatic flags on SyncFirst
                - remove poorly implemented `-S --recursive` option
              - improve error messages on database locking failures
              - use full delta size as max download size (FS#28345)
              - improved handling and fix crash after failed downloads
              - fix key lookup when using gpg 2.X as GPG program
              - match only full path components in disk space checking
              - skip disk space checks when using --dbonly
              - scripts: unset CDPATH bash variable in all scripts
              - makepkg:
                - fix syntax error in remove_deps (FS#28448)
                - small fixes related to multiple libdeps, parsing issues
                - exit via default handler in trap_exit (FS#28491)
                - attempt to work around Btrfs file/block size reporting issues
              - pacman-key:
                - remove signature verification in --populate
                - make -e option work as advertised without arguments
                - exit with correct return codes when verifying signature
              - pacsysclean: fix description, fix option parsing (FS#28434)
              - pkgdelta: use bsdtar -q option for better performance
              - translations: various updates and corrections
Dan McGee's avatar
Dan McGee committed
4.0.2         - allow comments after a repository header in pacman.conf
              - search for and import PGP subkeys if necessary (FS#27612)
              - fix rare segfault on removal operations (FS#27805, FS#28195)
              - skip all unknown files when cleaning package cache
              - restore looking for files in cache before downloading via -U
              - ensure '[removal]' is displayed in trans confirmation (FS#27981)
Dan McGee's avatar
Dan McGee committed
              - implement disk space checking code for Illumos
              - use TCP keepalive in download to prevent dropped connections
              - round and show -0.00 values as 0.00 (FS#27924)
              - makepkg:
                - ensure all source files are included in --source (FS#26580)
                - fix locale sort/comm related issues (FS#26580)
                - abort on missing download agent
                - restrict flags passed to pacman (FS#28012)
                - work around certain zipman glob/existence issues
                - fix non-writable SRCPKGDEST error message (FS#28197)
                - fix printf interpreting gettext string as arg (FS#28069)
                - don't abort on non-zero hg return codes (FS#28248)
                - disable extglob when sourcing BUILDSCRIPT (FS#27780)
              - pacman-key: improve return codes of operations (FS#26730)
              - repo-add: enforce maximum signature file size (FS#27453)
              - contrib/paclist: support --help (FS#27258)
              - contrib/pacsysclean: new script
              - contrib/*_completion: fix completion for uncompressed packages
              - translations: extensive updates and corrections
4.0.1         - ensure VerbosePkgList table display supports multibyte chars
              - always use stderr for warning/error messages (FS#26555)
              - add guidance message for users when public keyring not found
              - fix edge case in download progress bar rounding (FS#26853)
              - ensure downloads started as tempfiles have correct umask
              - ensure unowned symlinks are not overwritten incorrectly
              - allow -U operation even without sync databases (FS#26899)
              - update libtool files and update fix for -Wl,-as-needed
              - fix build when using --disable-static (FS#26652)
              - pacman-key: add a keyserver timeout value in --init
              - repo-add: fix race condition around lock file removal
              - makepkg:
                - accept changelog= or install= without a value
                - trim trailing whitespace from sensitive variables
                - handle PGP signatures with a .sign extension
                - delay attachment of signal traps (FS#26196)
              - translations: multiple updates and corrections
Dan McGee's avatar
Dan McGee committed
4.0.0         - well-integrated and powerful signed packages and databases
                support in pacman, the library, and scripts (FS#5331)
              - over 800 commits to pacman.git since 3.5.4 release
              - many code cleanup commits across library/binaries/scripts
              - many performance improvement commits across library/binaries
              - add new -S --recursive operation to upgrade a full dep chain
              - report upgrade size on sync operations (FS#12566)
              - early terminal input is flushed before question prompts
              - remove duplicate code shared in sync and upgrade operations
              - remove ShowSize; replaced with VerbosePkgLists (FS#15772)
              - print callback (warning, error) messages to stderr (FS#25099)
              - download progress callback has more room for filenames
              - fix selection entry for long values (FS#25253)
              - make config parsing two-pass process, enhance error messages
              - print helpful tips on -Qi <filename> or -S <filename>
              - replace libfetch with libcurl for backend download library
                - timeout when mirror is not responding (FS#15369)
                - full HTTPS protocol support (FS#22435)
                - support of non-traditional/redirected URLs (FS#22645)
                - ensure downloads are only resumed if appropriate (FS#23803)
              - only remove empty directories if no remaining owner (FS#25141)
              - better cache directory choosing and honor $TMPDIR (FS#25435)
              - replaces are parsed as dependency-style strings (FS#23410)
              - split package verification and load stages
              - sync database reading refactor for performance
Dan McGee's avatar
Dan McGee committed
              - use a larger buffer for package checksum validation
              - file lists now have a dedicated type with metadata
              - disk space check no longer requires iterating package archives
Dan McGee's avatar
Dan McGee committed
              - update and add checksum routines from PolarSSL
              - validate sync database sha256sum if available
              - correctly parse sizes in database > 2GiB
              - API: several type renames from pm* to alpm_* prefix
              - API: several enum constant renames from PM to ALPM_* prefix
              - API: several types are now public exposed structs
              - API: handle is no longer a single global variable
              - API: more changes than can be mentioned here, see README
              - much improved API documentation for use by Doxygen
              - pactest: several performance/checking improvements
              - scripts:
                - refactor some common components into shared bash library
                - split translations into pacman-scripts catalog (FS#15148)
              - makepkg:
                - allow signing packages after creation
                - allow verifying source file signatures (FS#20448)
                - add auto-versioned libdepends/libprovides support
Dan McGee's avatar
Dan McGee committed
                - support UPX compression of executables (FS#17213)
                - allow usage of an alternate build directory (FS#22308)
                - cleancache option has been removed; use shell instead
                - improved variable sanity checking (FS#16004)
                - better handling of package extensions (.tar.Z or invalid)
                - allow PKGEXT/SRCEXT environment overrides (FS#19860)
                - only check for writable PKGDEST if necessary (FS#24735)
                - check_software function exits early if missing req'd binaries
                - do source packaging in fakeroot (FS#24330)
                - be more POSIX-compatible in use of `ln` (FS#24893)
                - handle spaces with filenames in noextract (FS#25100)
Dan McGee's avatar
Dan McGee committed
                - allow epoch-versioned optdepends
Dan McGee's avatar
Dan McGee committed
              - pacman-key: new keyring management tool for signed data
              - pacsort: new utility, sort version numbers as pacman does
              - pactree: support sync databases with -s option
              - pkgdelta: add a manpage
              - repo-add:
                - handle and include package signatures in databases
                - verify database signature before modification
                - sign database after creation/modification
                - general script cleanup and bash-ification
                - add sha256sums to database (FS#23103)
              - contrib/bacman: code cleanups and small bug fixes
              - contrib/bash_completion: updates for new options/commands
              - contrib/paccache: new, pacman cache cleanup script
              - contrib/paclist: rewrite using bash
              - contrib/paclog-pkglist: new, recover from missing local DB
              - documentation: extensive updates to all manpages
              - translations: extensive updates, new languages: lt, zh_TW
Dan McGee's avatar
Dan McGee committed
3.5.4         - fix display of lists on non-TTYs and other output fixes
              - fix group selection entry for large inputs (FS#24253)
              - fix divide by zero when downloading zero length files
              - flush terminal input before reading response (FS#20538)
              - allow files to be replaced by directories (FS#24904)
              - makepkg: fix filenames with spaces and noextract (FS#25100)
              - scripts: remove ln -f option for POSIX compliance (FS#24893)
Dan McGee's avatar
Dan McGee committed
              - various small documentation updates
              - minor translation updates: de, fi
Dan McGee's avatar
Dan McGee committed
3.5.3         - segfault when creating lock in non-existent dir (FS#24292)
              - segfault when uninstalling broken backed-up symlink (FS#24230)
              - --print should not enable --noconfirm (FS#24287)
              - fix default path substitution in documentation
              - makepkg: quote variables that may contain spaces (FS#24002)
Dan McGee's avatar
Dan McGee committed
              - makepkg: fix creation of source package with -p (FS#24567)
              - repo-add: include dotfiles in file lists (FS#24534)
Dan McGee's avatar
Dan McGee committed
              - minor translation updates: de, fi, fr, sk, zh_CN
Dan McGee's avatar
Dan McGee committed
3.5.2         - ensure we show correct missing dependency info (FS#23424)
              - pacman usage/--help updates (FS#23433, FS#23369)
              - ensure stdout/stderr are flushed before prompts (FS#23492)
              - compile/portability fixes for FreeBSD platform
              - extensive documentation updates for alpm.h interfaces
              - fix several missing pm_errno error code returns
              - makepkg:
                - simplify log redirection and remove sync (FS#23378)
                - improve parsing for sanity checks (FS#23524)
                - avoid use of `tr` to avoid locale and other issues
                - fix GNU-ism in `su` invocation
              - bacman: update for new local database format (FS#23641)
              - extensive translation updates and fixes
Dan McGee's avatar
Dan McGee committed
3.5.1         - don't error on unknown pacman.conf directives (FS#23055)
              - only read arguments from stdin if '-' is provided as target
              - fix case with ignore handling in argument list (FS#23342)
              - don't show group selection prompt with -Sp (FS#23340)
              - restore old --debug/--verbose behavior (FS#23370)
              - ensure repo DBs are saved with sane umask (FS#23343)
              - fix segfault when a repo includes deltas entries (FS#23314)
              - fix potential data corruption issue on sync DB read
              - get zsh completion in a working state (FS#23322)
              - makepkg: improve optdepends extraction (FS#23307)
              - translations:
                - de: fix makepkg fatal error (FS#23315)
                - sr, sr@latin: new Serbian translation
                - various other translation updates
              - build system: ensure libtool respects LDFLAGS (FS#23325)
3.5.0         - sync DBs read directly from the database tarball
                (FS#8586, FS#20233)
              - local DB "depends" file has been merged into the "desc" file
                - pacman-db-upgrade script provided to update the local
                  database format
              - sync database extension is .db (without compression suffix)
                - requires repo-add from pacman-3.4+
              - package versions can have an 'epoch' value defined that will
                overrule any version comparison
                - this replaces the use of the "force" option in allowing for
                  package updates with versions that do not conform to the
                  default version comparison operations
                - package versions have the format [epoch:]pkgver-pkgrel
              - check available disk space before installing packages (FS#11639)
                - enabled by the "CheckSpace" option in pacman.conf
                - attempt to stop install if we hit an extraction issue
                  (FS#7692, FS#22034)
              - improved interactive selection for groups/provides
                (FS#19704, FS#19853)
              - finer grained control of ignoring dependency resolution
                - -Sd to ignore dependency versions only
                - -Sdd to ignore all dependency information
              - clean-up of --help output (FS#19526)
              - CleanMethod for package cache cleaning can use both
                KeepInstalled and KeepCurrent simultaneously
              - various speed-ups:
                - improved internal storage of the package cache
                - faster pkgname/depends searches
              - use OpenSSL crypto functions if available
              - makepkg:
                - add support for running testsuites in a check() function
                  (FS#15145)
                  - controlled by BUILDENV option 'check' in makepkg.conf
                    which may be overridden by --check/--nocheck on the
                    command-line
                - extract any file bsdtar recognizes
                - STRIP_DIRS has been removed in favor of stripping all
                  recognized files
                - improve $srcdir/$pkgdir check to reduce false positives
                - $pkgname can be used in split package() functions (FS#22174)
                - added '!buildflags' option to allow unsetting of CFLAGS,
                  CXXFLAGS and LDFLAGS
              - repo-add: added -f/--files to create files database (FS#11302)
              - pactree: rewritten in C using libalpm
Dan McGee's avatar
Dan McGee committed
3.4.3         - fix attempted double remove of all files issue during upgrades
              - respect IgnorePkg/IgnoreGroup for group members (FS#19854)
              - back out epoch changes; 3.5.X will handle them differently
Dan McGee's avatar
Dan McGee committed
3.4.2         - fix progress bar display with empty packages
              - make pactest testsuite Python 2.7 compatible
Dan McGee's avatar
Dan McGee committed
              - write epoch values in preparation for 3.5.X releases
              - fix null pointer dereference in architecture check (FS#21668)
Dan McGee's avatar
Dan McGee committed
              - documentation: remove unnecessary "|| return 1"
              - contrib/bacman: update package compression selection
              - contrib/PKGBUILD.vim: add a few more license options
Dan McGee's avatar
Dan McGee committed
              - translations: es, kk, sv, pt, ru updated
Dan McGee's avatar
Dan McGee committed
3.4.1         - fix interaction of --needed and multiple repo groups (FS#20221)
              - bash completion: small fixes to prevent alias problems
              - rankmirrors: fix bogus/empty variable assignment (FS#19911)
              - repo-add: ensure bare DB symlinks are relative (FS#20498)
              - repo-add: fallback to copy if symlink not permitted (FS#19907)
              - makepkg:
                - use absolute path to 'du' to exclude wrapper progs (FS#19932)
                - ensure $startdir check doesn't stall indefinitely (FS#19975)
                - fix repackaging with multiple passed packages (FS#20272)
              - translations:
                - zh_CN: fix crash when using during install (FS#20188)
                - sk: new Slovak translation
                - pt: new European Portuguese translation
                - other small updates to various translations
Allan McRae's avatar
Allan McRae committed
3.4.0         - new "Architecture" option that will restrict pacman to
                installing only packages from the given architecture. Can be
                set to "auto" in which case the output of "uname -m" is used
              - use "$arch" when specifying a mirror url to automatically
                select the correct architecture
              - Installing packages with -U can handle installing
                dependencies, conflict resolution and replacing packages
                (FS#3492, FS#5798)
              - can upgrade the system and install a new package using
                "pacman -Syu <pkg>" (FS#15581)
Allan McRae's avatar
Allan McRae committed
              - new -D/--database operation for modifying package install
                reasons (FS#12950)
Allan McRae's avatar
Allan McRae committed
              - new --print and --print-format options to output information
                in suitable format for wrapper scripts (FS#14208)
Allan McRae's avatar
Allan McRae committed
              - only extract new entries when updating a repo database
              - show "Required by" in -Sii output (FS#16244)
Allan McRae's avatar
Allan McRae committed
              - -U and -R options always ask for confirmation
              - allow -Qo to perform a functional 'which' (FS#8798)
Allan McRae's avatar
Allan McRae committed
              - cache cleaning cleans all directories, not just first
              - cleanupdelta: new utility to help remove unused deltas from
                a repo database
              - bash completion: rewrite for size and performance (FS#16630)
Allan McRae's avatar
Allan McRae committed
              - repo-add: handle removing the final package from a repo
              - rankmirrors: rewrite using bash
              - vercmp: does not link to libalpm to prevent upgrade issues
              - makepkg:
                - automatically aborts on any errors during packaging
                - changelogs are now included via the "changelog" variable
                - override pkgver, pkgrel and arch in split packages (FS#15955)
Allan McRae's avatar
Allan McRae committed
                - repackaging without a package() function is deprecated
                - stricter syntax checking for backup and optdepends entries
                - file stripping options are configurable
                - New --pkg flag to allow building specific package(s) from