4 + support environment files (`$AUR_ENV`, defaults to `$XDG_CONFIG_HOME/aurutils/env`)
8 + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
9 + use `$PWD` as default value for `$LOGDEST`
12 + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
15 + `--sync=auto` now runs `git-pull` and is the default operation
16 - local changes are no longer discarded automatically
17 - add `--no-pull` for running `git-fetch`
18 - add `--ff-only`, `--autostash`, `--no-commit`, `--rebase`, `--no-rebase`
19 - set per-repository rebase with `pull.rebase` git configuration
20 + add `--rebase` and `--reset` as shorthand for `--sync=rebase` and `--sync=reset`
21 + support multiple branches, with commits merged from `origin/master`
22 + `--results` output now uses `pull`, `reset` and `fetch` keywords
25 + output is now independent of command-line argument order
26 + rename `-I` and `-S` short options to `-i` and `-s`
31 + `-q` now applies to `--list` and `--upgrades`
38 + remove `-E`, `--env` (deprecated in v8)
41 + add `--rebase`, `--reset`, use `aur-fetch --sync=merge` default
42 + exit 22 on dependency cycles (v7 regression)
43 + filter dependency graph by pkgname, not depends (v7 regression)
48 + add `AUR_METADEST` (directory where metadata archives are stored)
52 + write `git-merge` to `results_file` if the command is run
57 + add `--results-append`
58 + write results file as build user
61 + support `--type=suggest`
66 + revert "retrieve local repository before setting --chroot paths"
76 + deprecate `--results`
77 + retrieve local repository before setting `--chroot` paths
78 + unset `PKGEXT` when using `--chroot`
81 + use OSC8 terminal hyperlinks (#849)
85 `aur-build` now uses `setpriv(1)` to run unprivileged commands (`makepkg`, `gpg`,
86 `repo-add`) when `AUR_ASROOT` is combined with `--user`. This change has no
87 effect when running `aur-build` as a regular user.
91 $ sudo env AUR_ASROOT=1 aur build --chroot --user <build_user> ...
93 The above works with `--chroot` (`makechrootpkg -U`). Environment variables in
94 the root environment are preserved for user commands, similar to `runuser -c`.
95 Host builds using `makepkg --syncdeps` to install dependencies require further
98 ┌──────────────────────────────────────────────────────────────────────────────┐
101 │ Running `aur-build` as root is experimental and disabled by default. If your │
102 │ install breaks, you get to keep both pieces. │
103 └──────────────────────────────────────────────────────────────────────────────┘
111 + add `aur-build--pkglist`
115 + redirect `makepkg -od` output (`--pkgver`) to stderr
116 + sign existing packages (#967)
119 + add `--no-pager` to the `git log` command (#969)
120 + `--existing`: clone instead of skip targets if they exist
123 + redirect `aur-fetch` output to stderr (#974)
135 + add `vercmp-devel`, `sync-list`
136 + rename `aur-sync-devel` to `sync-devel`
141 + add separator before first failed package
144 + handle empty `git` repositories (#959)
147 + remove `aurvcs.7`, move `aur-sync-devel` to `examples`
152 + fix directory to source the build script from (#958)
158 The `aur-chroot` command-line was changed so that `--create`, `--build` and
159 `--update` can be used in a single command. Command-line arguments are now
160 exclusively used for packages passed to `mkarchroot` and `arch-nspawn`.
161 To set `makechrootpkg` options, the new `--margs` and `--cargs` options are
162 available. As `aur-build --margs`, these take a comma-delimited string and
163 can be specified multiple times. (Issues: #950, #807)
165 The `--packagelist` command is now deprecated. The container path can be
166 retrieved with the `--path` option, e.g for use with `makepkg --config`.
169 + Consider all repositories (`Usage = Install`) for local repository upgrade (#956)
172 + add `--buildscript`
173 + deprecate `-E` / `--env`
174 - `get_full_version` from `libmakepkg` is now used after running `makepkg`
175 + take arguments from `stdin` if `-` is specified
178 + run `aur-fetch` and `aur-view` before `aur-srcver`
179 + sample code remaned to `aur-sync-devel`
184 + add `OptDepends` to `--info` output (#945)
185 + handle empty keywords in `--info` output (#946)
188 + add `--optdepends` (#945)
191 + add `--optdepends` (#945)
196 + pass --nocheck to chroot (#942)
199 + avoid off-by-one in ninja build summary (#940)
202 + do not abort if `-t` is unspecified (#938)
206 This release adds optional support for the `ninja` build system. If the
207 `AUR_SYNC_USE_NINJA` environment variable is set to a positive value,
208 `aur-sync` will generate `build.ninja` where each target has an `aur-build`
209 command-line. This allows to continue building a series of packages when
210 several failed, with the maximum of failed targets controlled by the `-k` /
211 `--keep-going` option. On failure, a summary of successful ("OK") and failed
212 ("FAIL") package builds is printed. The `--no-build` option in turn only
213 generates `build.ninja`, and prints the corresponding directory to `stdout`.
215 The logic to generate `build.ninja` files is exposed in the `aur-sync--ninja`
216 script. It can be used with other `aur` programs that output `pkgbase
217 depends_pkgbase` pairs, for example:
219 $ aur depends --graph "$@" | aur sync--ninja "$PWD" -- aur build
221 When running `ninja` on the resulting file, each successfully built `pkgbase`
222 will result in a `pkgbase.stamp` file. If the corresponding `PKGBUILD` is
223 modified, it will be marked for rebuilding by `ninja`. This can for example be
224 used for a git repository which hosts multiple `PKGBUILD` directories.
230 - checkdepends are now removed during dependency resolution, not afterwards (#882)
235 - `--ignore-file` now supports per-repository sections (INI-style)
236 - do not ignore targets when specified on the command-line
241 - add `-v` / `--verify` (verifies published sha256sums)
244 - add repository to dependency messages ("dependency foo satisfied by repo/bar")
245 - deduplicate results on stdout
250 - do not print additional messages on errors or no results
253 - add `-a` alias for `--any`
254 - add missing newline in case of errors (`jq -r`)
258 In previous versions, `aur search` would display an intersection of search
259 results, the symmetric difference with `-a` (bug), and the concatenation with
262 `aur search -a` now correctly returns the union, and the `-r` output is
263 processed with jq(1) to return the intersection by default, or the union (with
264 duplicates removed) with `-a`. This processing is done because the RPC
265 interface as of aurweb 6.0.11 does not expose set operations, and so
266 `aur-search` performs one search for each argument. `aur search --json` was
267 added as an alias to `--raw`, and the latter option is now deprecated.
269 The implementation is done in `aur-query`, which now takes the intersection of
270 search results by default. The union can be taken with `aur query --any`, or
271 unprocessed results shown with `-r` or `--raw`. In each case, the output is
272 newline delimited (JSON Lines, `jq -r`). If the search completed without
273 results, `aur-query` will either exit with status 0 (if no request resulted in
274 an error), 1 (if the `-e` option was specified), or 2 (if at least one request
275 resulted in an error).
277 `AUR_QUERY_RPC_SPLITNO_POST` received bug fixes (#920), and the default has
278 been reduced to 500 after experiencing issues with a larger number of
279 arguments. Users looking to use `aur-query -t info` with a very large number
280 of arguments should instead consider `aur pkglist --info`.
281 `AUR_QUERY_RPC_PARALLEL` also received several bugfixes.
286 + add `-E` / `--env` (#898)
289 + support HTTP POST for info-type requests
290 + use `aurutils` user agent (`curl -A`)
293 + use `aurutils` user agent (`curl -A`)
296 + add `--config` to set pacman configuration
301 + fix regressions with `--ignore` from 4.3 release
306 + wordsplit MAKEPKG and PACMAN_AUTH
309 + improve error handling
314 + support PACMAN_AUTH environment variable for custom elevation command
317 + improve error handling
318 + remove extraneous `--` on `--path` output
323 + handle absolute paths in `--arg-file`
326 + add `--users` (`-U`) to retrieve a list of AUR users
327 + update aur-pkglist(1) man page
330 + fix formatting for `--table` and packages with no dependencies
335 + add `--no-check` (`makepkg --nocheck`)
341 + add compatibility options (`--recurse`)
344 + add compatibility options (`--path`, `--path-list`, `--repo-list`)
345 + fix regression with `AUR_QUERY_PARALLEL`
348 + add `--no-check` (short for `--no-checkdepends`)
349 - implies `aur-build --no-check`
350 + apply `--ignore` to local repository targets
351 + `--ignore-file` now works with process substitution (#880)
352 + remove `--no-depends`, `--no-makedepends`
356 `aur-query` and `aur-fetch` now take arguments from the command-line
357 by default. If `-` or `/dev/stdin` is the first (and only) arguments,
358 they are taken from `stdin` instead. In particular, `aur fetch --recurse`
359 is now written as `aur depends --pkgbase ... | aur fetch -`, and the
360 explicit `--recurse` option was removed.
362 The `-` argument propagates to `aur-depends` and `aur-search`
363 transparently. Additionally, `aur-sync` no longer calls `aur-depends`
364 and `aur-fetch` with `xargs`, avoiding the 123 exit code on failure of
370 + support AUR_LOCATION
371 + preserve `curl --parallel` exit codes (requires curl >=7.77.0)
372 + complete aur-query(1) man page
375 + support multiinfo and search dumps (`--info`, `--search`)
376 + support HTTP Last-Modified
382 + new script that includes the package inspection logic from `aur-sync`
387 + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
388 + resolve path argument to `--results`
389 + use `aur repo --status` for repository selection
390 - allows specifying `--root` without `--database`
391 + print diagnostic if packages were not moved to local repository (#794)
392 + merge `--config` and `--pacman-conf` (#808, #824)
393 + fallback to /etc/aurutils/pacman-<arch>.conf if --chroot is used without --database (#846)
394 + add diagnostic if chroot pacman.conf is non-existing (#783)
397 + add `--no-depends`, `--no-makedepends`, `--no-checkdepends` (#826)
398 + add dependency kind column to `--table` output
401 + preserve `SSH_AUTH_SOCK` to support ssh-based operations (#832)
404 + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
406 - `repo:<NAME>\nroot:<PATH>\npath:<PATH/NAME.DBEXT>` output format
408 + rename `--repo-list` to `--list-repo`
409 + rename `--path-list` to `--list-path`
412 + run `pacsift` with `unbuffer` (#804)
415 + remove colon from `checkupdates` and `equal_or_newer` format (#833)
417 ## 3.1.2 - 2020-11-09
419 This releases fixes a regression in 3.1.1 where `AUR_LIB_DIR` was not
422 ## 3.1.1 - 2020-11-09
427 ## 3.1.0 - 2020-11-09
430 + fix example `aur-remove` script (#785)
433 + change default pacman-conf for chroot builds to /etc/aurutils/pacman-<dbname>.conf
434 + clarify conditions on pacman-conf for chroot builds in `aur-build.1`
438 - seperate mode which runs `mkarchroot` with packages taken from the command-line
439 - defaults to base-devel (and multilib-devel, if applicable) if no packages are specified
440 - `--update` no longer runs `mkarchroot`
441 + `--packagelist` now uses `makepkg.conf` inside the container
442 + add `Devtools limitations` section to `aur-chroot.1` (#782)
443 + add additional error messages for missing pacman configuration
447 + update man page for new arguments (#784)
448 + remove `--ini` (only offered pacman.conf information)
450 ## 3.0.3 - 2020-11-02
452 * fix broken `zsh` completion (#776)
453 * use `/tmp/aurutils-$UID` as default temporary directory (#775)
455 ## 3.0.2 - 2020-10-30
458 + add missing `--suffix` option (#773)
460 ## 3.0.1 - 2020-10-29
464 + aur-sync: use XDG_RUNTIME_DIR for view directory (5341c059736d3eff59daea5cb52b7d35c98d0824)
465 + aur-repo: simplify command line (57c1b2157806e645e7de85bf24e2c28b7d5f4458)
467 were part of the 3.0.0 release tarball, but not the 3.0.0 tag. The 3.0.1 tag now includes these commits.
469 ## 3.0.0 - 2020-10-29
472 + add `AUR_EXEC_PATH` environment variable
473 + add example `aur-gc`, `aur-remove` scripts to `aur.1`
476 + add `AUR_DEBUG`, `NO_COLOR`, `MAKEPKG` environment variables
477 + add mollyguard for running as the `root` user
478 + add `build:` prefix to `--results` output
479 - `build:file:///path/to/package.tar.xz`
480 + add `--new`, `--prevent-downgrade` (`repo-add` options)
481 + add `Running` message for all `makepkg` invocations
482 + replace `--build-command` with `--margs` and `$MAKEPKG`
483 + remove default `makepkg` arguments (#635)
484 - specify common `makepkg` options as `aur-build` arguments (`--syncdeps`, `--rmdeps`, `--ignorearch`, `--log`, `--noconfirm`)
485 - pass `--syncdeps`, `--rmdeps` to `--pkgver` makepkg command (#716)
486 - make `-r` an alias for `--rmdeps` (was: alias for `--root`)
487 - make `-S` an alias for `--sign` (was: `-s`)
488 + use `--margs` to set makepkg options instead of EOF seperator (`--`)
489 + `--makepkg-conf` now sets the makepkg configuration for host builds (avoid quoting issues with setting `--config` in `--margs`)
490 + use `makepkg --noextract` if `--pkgver` is specified (#708)
491 + use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`) instead of `makepkg --packagelist` (#755)
492 + pass pacman.conf (`--config`) to `aur-repo` (#654)
493 + only remove intermediary package directory if empty (#602)
495 + use `PKGDEST` instead of `makepkg.conf` to set package destination
498 + add `AUR_DEBUG` environment variable
499 + add `--packagelist`
500 - use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`)
501 + replace `--no-prepare` and `--no-build` (disable steps) with `--update` and `--build` (enable steps) respectively
502 + remove `--database`
503 + use static pacman configuration (defaults to `/usr/share/devtools/pacman-extra.conf`)
504 - `--suffix` to override `extra` in the default path
505 - if `--suffix` begins in `multilib`, install `multilib-devel` (instead of `base-devel`)
508 + add `AUR_DEBUG`, `NO_COLOR` environment variables
509 + add `--results` (colon-delimited output)
511 - only run `git fetch` by default;
512 - run `git reset` if `--sync=reset` is specified;
513 - run `git rebase` if `--sync=rebase` is specified;
514 - run either `git reset` or `git rebase` if `--sync=auto` is specified
515 + exit `1` if `git clone` or `git fetch` failed
516 + remove support for `tar` archives
517 + remove diff output (`--log-dir`, `--verbose`, `--format`)
518 - diffs can be generated from the extended --results output (done in `aur-sync`)
519 + remove setting `orderfile` (done in `aur-sync`)
520 + use `git -C` for `git` calls
522 * `aur-jobs` (removed)
526 + add `AUR_DEBUG` environment variable
527 + use `curl` for transfers instead of `wget`
529 * `aur-rpc` (`aur-query`)
530 + add `AUR_DEBUG`, `AUR_QUERY_RPC`, `AUR_QUERY_RPC_SPLITNO`, `AUR_QUERY_PARALLEL`, `AUR_QUERY_PARALLEL_MAX` environment variables
531 + rename to `aur-query`
532 + set AUR RPC address with `AUR_QUERY_RPC` instead of a combination of `--rpc-url`, `--rpc-ver` and `AUR_LOCATION`
533 + set number of packages for splitting URIs with `AUR_QUERY_RPC_SPLITINFO`
534 + set `AUR_QUERY_RPC_SPLITNO` to set of number of packages for splitting URIs
535 + use `curl` for transfers instead of `wget`
536 - enable parallel transfers (`curl --parallel`) with `AUR_QUERY_PARALLEL=1`
537 - set maximum amount of parallel transfers (`curl --parallel-max`) with `AUR_QUERY_PARALLEL_MAX`
538 + exit `1` if a transfer failed
541 + add `AUR_DEBUG` environment variable
542 + add `--sysroot` (`pacsift --sysroot`, `pacinfo --sysroot`)
543 + use `pacinfo` for package information instead of `expac`
546 + add `AUR_DEBUG` environment variable
549 + add `--quiet`/`-q` (`aur-vercmp -q`)
551 + add pacman configuration to `--status-format` (colon-delimited)
552 + print fully resolved path to local repository
553 + require `--path` to print the local repository path
554 + remove `expac` dependency
557 + add `AUR_DEBUG`, `NO_COLOR` environment variables
558 + unset `LC_ALL` when printing `Popularity`
561 + add `AUR_DEBUG` environment variable
563 + do not use `makepkg --log`
564 + remove `parallel` dependency
567 + add `AUR_DEBUG`, `NO_COLOR`, `AUR_CONFIRM_PAGER` environment variables
568 - use confirmation prompt after package review if `AUR_CONFIRM_PAGER` is set
569 + add `--rebuild-all`
570 + add mollyguard for running as the `root` user
571 + add default ignore file in `$XDG_CONFIG_HOME/aurutils/sync/ignore`
572 + do not fallback to `PAGER` or `less` (`AUR_PAGER` must be set or `vifm` installed)
573 + enable `--provides` by default
574 - disable with `--no-provides`
575 - specify repositories with `--provides-from` (comma-delimited)
576 + remove additional `aur-build` arguments after EOF separator (`--`) (#678)
577 + remove `parallel` dependency
578 + remove `AURDEST_SNAPSHOT` environment variable
579 + remove `--git`, `--tar`
580 + rename `--print` to `--no-build`/`-o`
581 + rename `--no-ver-shallow` to `--no-ver-argv`
582 + store commits viewed by the user (#379, #711)
583 + use `aur-fetch --sync=auto`
586 + add `AUR_DEBUG`, `NO_COLOR` environment variables
589 + allow overriding `AUR_LIB_DIR` at build time
603 ## 2.3.1 - 2019-02-21
608 + documentation updates (#350, #507)
609 + ask for confirmation if `PAGER` is set (#530)
611 + documentation updates (#438)
613 ## 2.3.0 - 2019-02-18
616 + add `--holdver` to makepkg with `--pkgver`
617 + exit 2 if `db_path` is not found
619 + support versioned packages (#404)
620 + remove `--repo` alias to `--database`
622 + remove `--noprepare` from default makepkg options
623 + add `--noprepare` option (#523)
625 + wrap repo-add `-R` (#521)
626 + add `--no-graph` (workaround for #516)
629 + rename `--equal` to `--current`
631 + group options by type (#520)
632 + complete `aur-depends` options (#526)
634 ## 2.2.1 - 2019-01-25
637 + add `--holdver` to `makepkg` options if `--pkgver` is enabled
639 + do not include `repo:` in error messages
640 + `--all` implies `--upgrades`
642 + `cd` before invoking `$PAGER` (#518)
644 + if `stdin` is connected to a terminal, mention this on `stderr`
646 + if `stdin` is connected to a terminal, mention this on `stderr`
648 + if `stdin` is connected to a terminal, mention this on `stderr`
650 ## 2.2.0 - 2019-01-22
653 + update `CacheDir` instructions in `aur(1)`
655 + rename `--run-pkgver` to `--pkgver`, remove `LANG=C` from `makepkg -od`
656 + remove `~` package backup on `--force` (#444)
657 + propagate `--pacman-conf` to `pacman-conf` (local builds)
658 + unset `PKGDEST` prior to running `makepkg` (#513)
659 + remove `--rmdeps` from default options (#508)
661 + expose AUR URL through `AUR_LOCATION` environment variable
663 + do not require `-P` for regex match
664 + Expose AUR URL through `AUR_LOCATION` environment variable
666 + add `--rpc-ver`, `--rpc-url`
667 + Expose AUR URL through `AUR_LOCATION` environment variable
669 + exit 1 on no results
670 + exit 2 on AUR error (e.g. "too many results")
671 + Expose AUR URL through `AUR_LOCATION` environment variable
673 + add `--pkgver` (`aur-build --pkgver`)
674 + remove `--rmdeps` from default options (#508)
676 + allow `zsh run-help` to display the correct man page (#506)
678 ## 2.1.0 - 2019-01-16
681 + `--build-command` now works correctly
682 + add `--run-pkgver` to run `makepkg -od` before `makepkg --pkglist` (relevant to VCS packages)
684 + now takes input as arguments, instead from `stdin`
685 + add `--table`, `--pkgbase`, `--pkgname` and `--pkgname-all` (defaults to `--pkgname`)
687 + add `--raw` to display JSON output
689 + add `--ignore-file` (same as `aursync --ignore`)
690 + check the (`.SRCINFO`) dependency graph before file inspection
691 * `aur-fetch-git` and `aur-fetch-snapshot` were removed and merged to `aur-fetch`
693 ## 2.0.1 - 2019-01-11
696 + do not export PKGDEST for non-chroot builds (#498)
697 + add --build-command (#498)
698 + man page updates (#217)
700 + add --keep-order for parallel aur-fetch
702 ## 2.0.0 - 2019-01-10
705 + wrapper for the new `git(1)` based design
707 + remove `repose` support, see https://bbs.archlinux.org/viewtopic.php?pid=1707649#p1707649
708 + abort if updating a signed database without `-s` (#246)
709 + add `AUR_REPO`, `AUR_DBROOT` environment variables (#302)
710 + add `--makepkg-conf`, `--pacman-conf` (#242)
711 + use `pacman-conf` instead of `pacconf`
712 * `aur-chroot` *(new)*
713 + new tool containing the functionality of `aur-build -c`
714 + support container builds without using a local repository
715 + support multiple repositories
716 + preserve `GNUPGHOME` (#427)
717 + use `pacman-conf` instead of `pacconf`
719 + use `HEAD@{upstream}` instead of `HEAD` for `git reset` (#349)
720 + use `wget` instead of `aria2c` or `curl`
721 + support diffs for `tar` snapshots (requires: `diffstat`)
723 + rewrite in awk (#361)
724 + add support for virtual and versioned dependencies (#10)
726 + manage local repositories
728 + send `GET` requests to `aurweb`
729 + use `wget` instead of `aria2c` or `curl`
731 + add `License`, `Keyword`, `Depends`, `MakeDepends` and `CheckDepends` fields
732 + add `depends`, `makedepends` search (#432)
733 + add popularity to `brief` output (#420)
734 + colorize if `stdout` is a terminal (#473)
735 + use intersection of results for multiple terms (#328)
736 + use `aur-rpc` to query `aurweb`
738 + add `AUR_PAGER` environment variable (file review, #51)
739 + add `--bind-rw` (#428)
740 + add `--ignore-arch` (`makepkg -A`, #309)
741 + add `--nover-shallow` (only check versions for depends, #374)
742 + add `--provides` (virtual dependencies, #452)
743 + add `--rebuild`, `--rebuildtree` aliases (#424)
744 + rename `--repo` to `--database` (#353)
745 + the `--ignore` option now takes a comma-separated list of packages
746 + fetch sources in parallel
747 + set the default value for `AURDEST` to `$XDG_CACHE_HOME/aurutils/sync`
748 * `aur-srcver` *(new)*
749 + print latest revision of VCS packages
750 * `aur-vercmp-devel` *(new)*
751 + compare latest revision of VCS packages to a local repository
752 * `officer` *(removed)*
753 + removed in favor of `pacman --config`
755 + add `bash` completion (requires: `bash-completion`)
756 + add `zsh` completion in a later release (#458)
757 * Fixes for known issues in `1.5.3`.