## 10

* `aur`
  + support environment files (`$AUR_ENV`, defaults to `$XDG_CONFIG_HOME/aurutils/env`)
  + add `--env`

* `aur-build`
  + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
  + use `$PWD` as default value for `$LOGDEST`
  + bug fixes for gpg signing (`--sign`)

* `aur-chroot`
  + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)

* `aur-fetch`
  + `--sync=auto`: run `git-merge` instead of `git-reset`
    - add `--ff`, `--ff-only`, `--no-ff`, `--no-commit` options
    - fix a bug where setting `aurutils.rebase` affected unrelated targets
    - set default author for merge commits to `aurutils@localhost`
  + `--sync=auto` now preserves local changes by default
    - `--discard` (`-f`) resets the branch on new upstream commits
  + add `--reset`, `--rebase`, `--auto` (`--sync=reset`, `--sync=rebase`, `--sync=auto`)
  + support multiple branches, with commits merged from `origin/master`

* `aur-pkglist`
  + output is now independent of command-line argument order
  + deprecate `-I`, `-S`, `-u`
    - renamed to: `-i` (`--info`), `-s` (`--search`) `-q` (`--quiet`)
  + deprecate `-J` (`--json`)
    - behaves like `--plain`, remove pretty-printing with `jq`
  + add `--systime`

* `aur-repo`
  + `-q` now applies to `--list` and `--upgrades`
  + add `--list-attr`
  + deprecate `--status-file`

* `aur-search`
  + add `--color` (`auto`, `always`, `none`)

* `aur-srcver`
  + remove `-E`, `--env` (deprecated in v8)

* `aur-sync`
  + use pkgspec `<REPOSITORY>/<PACKAGE>` format for `--ignore-file`
    - support for sections (introduced with v6.3) is removed (#880)
    - <PACKAGE> ignores apply to all local repositories
  + add `--rebase`, `--reset` options for `aur-fetch`
  + exit 22 on dependency cycles (v7 regression)
  + filter dependency graph by pkgname, not depends (v7 regression)
  + store `build.ninja` files in `$XDG_RUNTIME_DIR/aurutils`

* `completions`
  + major overhaul of zsh completions (#990)

## 9.6

* `aur-pkglist`
  + add `AUR_METADEST` (directory where metadata archives are stored)
  + add `--quiet`

* `aur-fetch`
  + write `git-merge` to `results_file` if the command is run

## 9.5

* `aur-build`
  + add `--results-append`
  + write results file as build user

* `aur-query`
  + support `--type=suggest`

## 9.4

* `aur-build`
  + revert "retrieve local repository before setting --chroot paths"

## 9.3

* `examples`
  + rework `sync-list`

## 9.2

* `aur-build`
  + deprecate `--results`
  + retrieve local repository before setting `--chroot` paths
  + unset `PKGEXT` when using `--chroot`

* `aur-search`
  + use OSC8 terminal hyperlinks (#849)

## 9.1

`aur-build` now uses `setpriv(1)` to run unprivileged commands (`makepkg`, `gpg`,
`repo-add`) when `AUR_ASROOT` is combined with `--user`. This change has no
effect when running `aur-build` as a regular user.

Usage:

  $ sudo env AUR_ASROOT=1 aur build --chroot --user <build_user> ...

The above works with `--chroot` (`makechrootpkg -U`). Environment variables in
the root environment are preserved for user commands, similar to `runuser -c`.
Host builds using `makepkg --syncdeps` to install dependencies require further
configuration.

┌──────────────────────────────────────────────────────────────────────────────┐
│ WARNING!                                                                     │
│                                                                              │
│ Running `aur-build` as root is experimental and disabled by default. If your │
│ install breaks, you get to keep both pieces.                                 │
└──────────────────────────────────────────────────────────────────────────────┘

## 9

* `examples`
  + add `chroot-batch`

* `lib`
  + add `aur-build--pkglist`

* `aur-build`
  + add `--dry-run`
  + redirect `makepkg -od` output (`--pkgver`) to stderr
  + sign existing packages (#967)

* `aur-fetch`
  + add `--no-pager` to the `git log` command (#969)
  + `--existing`: clone instead of skip targets if they exist

* `aur-sync`
  + redirect `aur-fetch` output to stderr (#974)

## 8.3

* `aur-fetch`
  + add `--revision`
  + add `--no-patch`

* `aur-repo`
  + add `--field`

* `examples`
  + add `vercmp-devel`, `sync-list`
  + rename `aur-sync-devel` to `sync-devel`

## 8.2

* `aur-srcver`
  + add separator before first failed package

* `aur-fetch`
  + handle empty `git` repositories (#959)

* `man7`
  + remove `aurvcs.7`, move `aur-sync-devel` to `examples`

## 8.1

* `aur-srcver`
  + fix directory to source the build script from (#958)

## 8

* `aur-chroot`

The `aur-chroot` command-line was changed so that `--create`, `--build` and
`--update` can be used in a single command. Command-line arguments are now
exclusively used for packages passed to `mkarchroot` and `arch-nspawn`.
To set `makechrootpkg` options, the new `--margs` and `--cargs` options are
available. As `aur-build --margs`, these take a comma-delimited string and
can be specified multiple times. (Issues: #950, #807)

The `--packagelist` command is now deprecated. The container path can be
retrieved with the `--path` option, e.g for use with `makepkg --config`.

* `aur-build`
  + Consider all repositories (`Usage = Install`) for local repository upgrade (#956)

* `aur-srcver`
  + add `--buildscript`
  + deprecate `-E` / `--env`
    - `get_full_version` from `libmakepkg` is now used after running `makepkg`
  + take arguments from `stdin` if `-` is specified

* `aurvcs.7`
  + run `aur-fetch` and `aur-view` before `aur-srcver`
  + sample code remaned to `aur-sync-devel`

## 7.2

* `aur-search`
  + add `OptDepends` to `--info` output (#945)
  + handle empty keywords in `--info` output (#946)

* `aur-depends`
  + add `--optdepends` (#945)

* `aur-sync`
  + add `--optdepends` (#945)

## 7.1

* `aur-build`
  + pass --nocheck to chroot (#942)

* `aur-sync`
  + avoid off-by-one in ninja build summary (#940)

* `aur-query`
  + do not abort if `-t` is unspecified (#938)

## 7

This release adds optional support for the `ninja` build system. If the
`AUR_SYNC_USE_NINJA` environment variable is set to a positive value,
`aur-sync` will generate `build.ninja` where each target has an `aur-build`
command-line. This allows to continue building a series of packages when
several failed, with the maximum of failed targets controlled by the `-k` /
`--keep-going` option.  On failure, a summary of successful ("OK") and failed
("FAIL") package builds is printed. The `--no-build` option in turn only
generates `build.ninja`, and prints the corresponding directory to `stdout`.

The logic to generate `build.ninja` files is exposed in the `aur-sync--ninja`
script. It can be used with other `aur` programs that output `pkgbase
depends_pkgbase` pairs, for example:

  $ aur depends --graph "$@" | aur sync--ninja "$PWD" -- aur build

When running `ninja` on the resulting file, each successfully built `pkgbase`
will result in a `pkgbase.stamp` file. If the corresponding `PKGBUILD` is
modified, it will be marked for rebuilding by `ninja`. This can for example be
used for a git repository which hosts multiple `PKGBUILD` directories.

## 6.4

* `aur-depends`
  - add `--graph`
  - checkdepends are now removed during dependency resolution, not afterwards (#882)

## 6.3

* `aur-sync`
  - `--ignore-file` now supports per-repository sections (INI-style)
  - do not ignore targets when specified on the command-line

## 6.2

* `aur-pkglist`
  - add `-v` / `--verify` (verifies published sha256sums)

* `aur-repo-filter`
  - add repository to dependency messages ("dependency foo satisfied by repo/bar")
  - deduplicate results on stdout

## 6.1

* `aur-search`
  - do not print additional messages on errors or no results

* `aur-query`
  - add `-a` alias for `--any`
  - add missing newline in case of errors (`jq -r`)

## 6

In previous versions, `aur search` would display an intersection of search
results, the symmetric difference with `-a` (bug), and the concatenation with
`-r`. (#918)

`aur search -a` now correctly returns the union, and the `-r` output is
processed with jq(1) to return the intersection by default, or the union (with
duplicates removed) with `-a`. This processing is done because the RPC
interface as of aurweb 6.0.11 does not expose set operations, and so
`aur-search` performs one search for each argument. `aur search --json` was
added as an alias to `--raw`, and the latter option is now deprecated.

The implementation is done in `aur-query`, which now takes the intersection of
search results by default. The union can be taken with `aur query --any`, or
unprocessed results shown with `-r` or `--raw`. In each case, the output is
newline delimited (JSON Lines, `jq -r`). If the search completed without
results, `aur-query` will either exit with status 0 (if no request resulted in
an error), 1 (if the `-e` option was specified), or 2 (if at least one request
resulted in an error).

`AUR_QUERY_RPC_SPLITNO_POST` received bug fixes (#920), and the default has
been reduced to 500 after experiencing issues with a larger number of
arguments. Users looking to use `aur-query -t info` with a very large number
of arguments should instead consider `aur pkglist --info`.
`AUR_QUERY_RPC_PARALLEL` also received several bugfixes.

## 5

* `aur-srcver`
  + add `-E` / `--env` (#898)

* `aur-query`
  + support HTTP POST for info-type requests
  + use `aurutils` user agent (`curl -A`)

* `aur-pkglist`
  + use `aurutils` user agent (`curl -A`)

* `aur-repo-filter`
  + add `--config` to set pacman configuration

## 4.4

* `aur-sync`
  + fix regressions with `--ignore` from 4.3 release

## 4.3

* `aur-build`
  + wordsplit MAKEPKG and PACMAN_AUTH

* `aur-sync`
  + improve error handling

## 4.2

* `aur-build`
  + support PACMAN_AUTH environment variable for custom elevation command

* `aur-repo`
  + improve error handling
  + remove extraneous `--` on `--path` output

## 4.1

* `aur-build`
  + handle absolute paths in `--arg-file`

* `aur-pkglist`
  + add `--users` (`-U`) to retrieve a list of AUR users
  + update aur-pkglist(1) man page

* `aur-repo`
  + fix formatting for `--table` and packages with no dependencies

## 4

* `aur-build`
  + add `--no-check` (`makepkg --nocheck`)

* `aur-search`
  + add `--table`

* `aur-fetch`
  + add compatibility options (`--recurse`)

* `aur-repo`
  + add compatibility options (`--path`, `--path-list`, `--repo-list`)
  + fix regression with `AUR_QUERY_PARALLEL`

* `aur-sync`
  + add `--no-check` (short for `--no-checkdepends`)
    - implies `aur-build --no-check`
  + apply `--ignore` to local repository targets
  + `--ignore-file` now works with process substitution (#880)
  + remove `--no-depends`, `--no-makedepends`

## 3.3.0

`aur-query` and `aur-fetch` now take arguments from the command-line
by default. If `-` or `/dev/stdin` is the first (and only) arguments,
they are taken from `stdin` instead. In particular, `aur fetch --recurse`
is now written as `aur depends --pkgbase ... | aur fetch -`, and the
explicit `--recurse` option was removed.

The `-` argument propagates to `aur-depends` and `aur-search`
transparently. Additionally, `aur-sync` no longer calls `aur-depends`
and `aur-fetch` with `xargs`, avoiding the 123 exit code on failure of
these commands.

## 3.2.1

* `aur-query`
  + support AUR_LOCATION
  + preserve `curl --parallel` exit codes (requires curl >=7.77.0)
  + complete aur-query(1) man page

* `aur-pkglist`
  + support multiinfo and search dumps (`--info`, `--search`)
  + support HTTP Last-Modified

* `aur-fetch`
  + add `--existing`

* `aur-view`
  + new script that includes the package inspection logic from `aur-sync`

## 3.2.0

* `aur-build`
  + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
  + resolve path argument to `--results`
  + use `aur repo --status` for repository selection
    - allows specifying `--root` without `--database`
  + print diagnostic if packages were not moved to local repository (#794)
  + merge `--config` and `--pacman-conf` (#808, #824)
  + fallback to /etc/aurutils/pacman-<arch>.conf if --chroot is used without --database (#846)
  + add diagnostic if chroot pacman.conf is non-existing (#783)

* `aur-depends`
  + add `--no-depends`, `--no-makedepends`, `--no-checkdepends` (#826)
  + add dependency kind column to `--table` output

* `aur-chroot`
  + preserve `SSH_AUTH_SOCK` to support ssh-based operations (#832)

* `aur-repo`
  + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
  + add `--status`
    - `repo:<NAME>\nroot:<PATH>\npath:<PATH/NAME.DBEXT>` output format
    - replaces `--path`
  + rename `--repo-list` to `--list-repo`
  + rename `--path-list` to `--list-path`

* `aur-repo-filter`
  + run `pacsift` with `unbuffer` (#804)

* `aur-vercmp`
  + remove colon from `checkupdates` and `equal_or_newer` format (#833)

## 3.1.2 - 2020-11-09

This releases fixes a regression in 3.1.1 where `AUR_LIB_DIR` was not
subsituted in `aur`.

## 3.1.1 - 2020-11-09

* `aur`
  + add `--version`

## 3.1.0 - 2020-11-09

* `aur`
  + fix example `aur-remove` script (#785)

* `aur-build`
  + change default pacman-conf for chroot builds to /etc/aurutils/pacman-<dbname>.conf
  + clarify conditions on pacman-conf for chroot builds in `aur-build.1`

* `aur-chroot`
  + add `--create`
    - seperate mode which runs `mkarchroot` with packages taken from the command-line
    - defaults to base-devel (and multilib-devel, if applicable) if no packages are specified
    - `--update` no longer runs `mkarchroot`
  + `--packagelist` now uses `makepkg.conf` inside the container
  + add `Devtools limitations` section to `aur-chroot.1` (#782)
  + add additional error messages for missing pacman configuration

* `aur-repo`
  + add `--path-list`
  + update man page for new arguments (#784)
  + remove `--ini` (only offered pacman.conf information)

## 3.0.3 - 2020-11-02

* fix broken `zsh` completion (#776)
* use `/tmp/aurutils-$UID` as default temporary directory (#775)

## 3.0.2 - 2020-10-30

* `aur-sync`
  + add missing `--suffix` option (#773)

## 3.0.1 - 2020-10-29

The commits:

+ aur-sync: use XDG_RUNTIME_DIR for view directory (5341c059736d3eff59daea5cb52b7d35c98d0824)
+ aur-repo: simplify command line (57c1b2157806e645e7de85bf24e2c28b7d5f4458)

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.

## 3.0.0 - 2020-10-29

* `aur`
  + add `AUR_EXEC_PATH` environment variable
  + add example `aur-gc`, `aur-remove` scripts to `aur.1`

* `aur-build`
  + add `AUR_DEBUG`, `NO_COLOR`, `MAKEPKG` environment variables
  + add mollyguard for running as the `root` user
  + add `build:` prefix to `--results` output
    - `build:file:///path/to/package.tar.xz`
  + add `--new`, `--prevent-downgrade` (`repo-add` options)
  + add `Running` message for all `makepkg` invocations
  + replace `--build-command` with `--margs` and `$MAKEPKG`
  + remove default `makepkg` arguments (#635)
    - specify common `makepkg` options as `aur-build` arguments (`--syncdeps`, `--rmdeps`, `--ignorearch`, `--log`, `--noconfirm`)
    - pass `--syncdeps`, `--rmdeps` to `--pkgver` makepkg command (#716)
    - make `-r` an alias for `--rmdeps` (was: alias for `--root`)
    - make `-S` an alias for `--sign` (was: `-s`)
  + use `--margs` to set makepkg options instead of EOF seperator (`--`)
  + `--makepkg-conf` now sets the makepkg configuration for host builds (avoid quoting issues with setting `--config` in `--margs`)
  + use `makepkg --noextract` if `--pkgver` is specified (#708)
  + use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`) instead of `makepkg --packagelist` (#755)
  + pass pacman.conf (`--config`) to `aur-repo` (#654)
  + only remove intermediary package directory if empty (#602)
  + remove `--delta`
  + use `PKGDEST` instead of `makepkg.conf` to set package destination

* `aur-chroot`
  + add `AUR_DEBUG` environment variable
  + add `--packagelist`
    - use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`)
  + replace `--no-prepare` and `--no-build` (disable steps) with `--update` and `--build` (enable steps) respectively
  + remove `--database`
  + use static pacman configuration (defaults to `/usr/share/devtools/pacman-extra.conf`)
    - `--suffix` to override `extra` in the default path
    - if `--suffix` begins in `multilib`, install `multilib-devel` (instead of `base-devel`)

* `aur-fetch`
  + add `AUR_DEBUG`, `NO_COLOR` environment variables
  + add `--results` (colon-delimited output)
  + add `--sync`
    - only run `git fetch` by default;
    - run `git reset` if `--sync=reset` is specified;
    - run `git rebase` if `--sync=rebase` is specified;
    - run either `git reset` or `git rebase` if `--sync=auto` is specified
  + exit `1` if `git clone` or `git fetch` failed
  + remove support for `tar` archives
  + remove diff output (`--log-dir`, `--verbose`, `--format`)
    - diffs can be generated from the extended --results output (done in `aur-sync`)
  + remove setting `orderfile` (done in `aur-sync`)
  + use `git -C` for `git` calls

* `aur-jobs` (removed)
  - remove script

* `aur-pkglist`
  + add `AUR_DEBUG` environment variable
  + use `curl` for transfers instead of `wget`

* `aur-rpc` (`aur-query`)
  + add `AUR_DEBUG`, `AUR_QUERY_RPC`, `AUR_QUERY_RPC_SPLITNO`, `AUR_QUERY_PARALLEL`, `AUR_QUERY_PARALLEL_MAX` environment variables
  + rename to `aur-query`
  + set AUR RPC address with `AUR_QUERY_RPC` instead of a combination of `--rpc-url`, `--rpc-ver` and `AUR_LOCATION`
  + set number of packages for splitting URIs with `AUR_QUERY_RPC_SPLITINFO`
  + set `AUR_QUERY_RPC_SPLITNO` to set of number of packages for splitting URIs
  + use `curl` for transfers instead of `wget`
    - enable parallel transfers (`curl --parallel`) with `AUR_QUERY_PARALLEL=1`
    - set maximum amount of parallel transfers (`curl --parallel-max`) with `AUR_QUERY_PARALLEL_MAX`
  + exit `1` if a transfer failed

* `aur-repo-filter`
  + add `AUR_DEBUG` environment variable
  + add `--sysroot` (`pacsift --sysroot`, `pacinfo --sysroot`)
  + use `pacinfo` for package information instead of `expac`

* `aur-repo`
  + add `AUR_DEBUG` environment variable
  + add `--config`
  + add `--ini`
  + add `--quiet`/`-q` (`aur-vercmp -q`)
  + add `--table`
  + add pacman configuration to `--status-format` (colon-delimited)
  + print fully resolved path to local repository
  + require `--path` to print the local repository path
  + remove `expac` dependency

* `aur-search`
  + add `AUR_DEBUG`, `NO_COLOR` environment variables
  + unset `LC_ALL` when printing `Popularity`

* `aur-srcver`
  + add `AUR_DEBUG` environment variable
  + add `--jobs`
  + do not use `makepkg --log`
  + remove `parallel` dependency

* `aur-sync`
  + add `AUR_DEBUG`, `NO_COLOR`, `AUR_CONFIRM_PAGER` environment variables
    - use confirmation prompt after package review if `AUR_CONFIRM_PAGER` is set
  + add `--rebuild-all`
  + add mollyguard for running as the `root` user
  + add default ignore file in `$XDG_CONFIG_HOME/aurutils/sync/ignore`
  + do not fallback to `PAGER` or `less` (`AUR_PAGER` must be set or `vifm` installed)
  + enable `--provides` by default
    - disable with `--no-provides`
    - specify repositories with `--provides-from` (comma-delimited)
  + remove additional `aur-build` arguments after EOF separator (`--`) (#678)
  + remove `parallel` dependency
  + remove `AURDEST_SNAPSHOT` environment variable
  + remove `--git`, `--tar`
  + rename `--print` to `--no-build`/`-o`
  + rename `--no-ver-shallow` to `--no-ver-argv`
  + store commits viewed by the user (#379, #711)
  + use `aur-fetch --sync=auto`

* `aur-vercmp`
  + add `AUR_DEBUG`, `NO_COLOR` environment variables

* `Makefile`
  + allow overriding `AUR_LIB_DIR` at build time

## 2.3.7

## 2.3.6

## 2.3.5

## 2.3.4

## 2.3.3

## 2.3.2

## 2.3.1 - 2019-02-21

* `aur-build`
  + add `--results`
* `aur-sync`
  + documentation updates (#350, #507)
  + ask for confirmation if `PAGER` is set (#530)
* `aur-repo-filter`
  + documentation updates (#438)

## 2.3.0 - 2019-02-18

* `aur-build`
  + add `--holdver` to makepkg with `--pkgver`
  + exit 2 if `db_path` is not found
* `aur-repo-filter`
  + support versioned packages (#404)
  + remove `--repo` alias to `--database`
* `aur-srcver`
  + remove `--noprepare` from default makepkg options
  + add `--noprepare` option (#523)
* `aur-sync`
  + wrap repo-add `-R` (#521)
  + add `--no-graph` (workaround for #516)
* `aur-vercmp`
  + add `-q`/`--quiet`
  + rename `--equal` to `--current`
* `completions`
  + group options by type (#520)
  + complete `aur-depends` options (#526)

## 2.2.1 - 2019-01-25

* `aur-build`
  + add `--holdver` to `makepkg` options if `--pkgver` is enabled
* `aur-repo`
  + do not include `repo:` in error messages
  + `--all` implies `--upgrades`
* `aur-sync`
  + `cd` before invoking `$PAGER` (#518)
* `aur-repo-filter`
  + if `stdin` is connected to a terminal, mention this on `stderr`
* `aur-rpc`
  + if `stdin` is connected to a terminal, mention this on `stderr`
* `aur-vercmp`
  + if `stdin` is connected to a terminal, mention this on `stderr`

## 2.2.0 - 2019-01-22

* `aur`
  + update `CacheDir` instructions in `aur(1)`
* `aur-build`
  + rename `--run-pkgver` to `--pkgver`, remove `LANG=C` from `makepkg -od`
  + remove `~` package backup on `--force` (#444)
  + propagate `--pacman-conf` to `pacman-conf` (local builds)
  + unset `PKGDEST` prior to running `makepkg` (#513)
  + remove `--rmdeps` from default options (#508)
* `aur-fetch`
  + expose AUR URL through `AUR_LOCATION` environment variable
* `aur-pkglist`
  + do not require `-P` for regex match
  + Expose AUR URL through `AUR_LOCATION` environment variable
* `aur-rpc`
  + add `--rpc-ver`, `--rpc-url`
  + Expose AUR URL through `AUR_LOCATION` environment variable
* `aur-search`
  + exit 1 on no results
  + exit 2 on AUR error (e.g. "too many results")
  + Expose AUR URL through `AUR_LOCATION` environment variable
* `aur-sync`
  + add `--pkgver` (`aur-build --pkgver`)
  + remove `--rmdeps` from default options (#508)
* `completion`
  + allow `zsh run-help` to display the correct man page (#506)

## 2.1.0 - 2019-01-16

* `aur-build` 
  + `--build-command` now works correctly
  + add `--run-pkgver` to run `makepkg -od` before `makepkg --pkglist` (relevant to VCS packages)
* `aur-depends`
  + now takes input as arguments, instead from `stdin`
  + add `--table`, `--pkgbase`, `--pkgname` and `--pkgname-all` (defaults to `--pkgname`)
* `aur-search`
  + add `--raw` to display JSON output
* `aur-sync`
  + add `--ignore-file` (same as `aursync --ignore`)
  + check the (`.SRCINFO`) dependency graph before file inspection
* `aur-fetch-git` and `aur-fetch-snapshot` were removed and merged to `aur-fetch`

## 2.0.1 - 2019-01-11

* `aur-build`
  + do not export PKGDEST for non-chroot builds (#498)                               
  + add --build-command (#498)
  + man page updates (#217)
* `aur-sync`
  + add --keep-order for parallel aur-fetch

## 2.0.0 - 2019-01-10

* `aur` *(new)*
  + wrapper for the new `git(1)` based design
* `aur-build`
  + remove `repose` support, see https://bbs.archlinux.org/viewtopic.php?pid=1707649#p1707649
  + abort if updating a signed database without `-s` (#246)
  + add `AUR_REPO`, `AUR_DBROOT` environment variables (#302)
  + add `--makepkg-conf`, `--pacman-conf` (#242)
  + use `pacman-conf` instead of `pacconf`
* `aur-chroot` *(new)*
  + new tool containing the functionality of `aur-build -c`
  + support container builds without using a local repository
  + support multiple repositories
  + preserve `GNUPGHOME` (#427)
  + use `pacman-conf` instead of `pacconf`
* `aur-fetch`
  + use `HEAD@{upstream}` instead of `HEAD` for `git reset` (#349)
  + use `wget` instead of `aria2c` or `curl`
  + support diffs for `tar` snapshots (requires: `diffstat`)
* `aur-graph`
  + rewrite in awk (#361)
  + add support for virtual and versioned dependencies (#10)
* `aur-repo` *(new)*
  + manage local repositories
* `aur-rpc` *(new)*
  + send `GET` requests to `aurweb`
  + use `wget` instead of `aria2c` or `curl`
* `aur-search` 
  + add `License`, `Keyword`, `Depends`, `MakeDepends` and `CheckDepends` fields
  + add `depends`, `makedepends` search (#432)
  + add popularity to `brief` output (#420)
  + colorize if `stdout` is a terminal (#473)
  + use intersection of results for multiple terms (#328)
  + use `aur-rpc` to query `aurweb`
* `aur-sync`
  + add `AUR_PAGER` environment variable (file review, #51)
  + add `--bind-rw` (#428)
  + add `--ignore-arch` (`makepkg -A`, #309)
  + add `--nover-shallow` (only check versions for depends, #374)
  + add `--provides` (virtual dependencies, #452)
  + add `--rebuild`, `--rebuildtree` aliases (#424)
  + rename `--repo` to `--database` (#353)
  + the `--ignore` option now takes a comma-separated list of packages
  + fetch sources in parallel
  + set the default value for `AURDEST` to `$XDG_CACHE_HOME/aurutils/sync`
* `aur-srcver` *(new)*
  + print latest revision of VCS packages
* `aur-vercmp-devel` *(new)*
  + compare latest revision of VCS packages to a local repository
* `officer` *(removed)*
  + removed in favor of `pacman --config`
* `completion`
  + add `bash` completion (requires: `bash-completion`)
  + add `zsh` completion in a later release (#458)
* Fixes for known issues in `1.5.3`.