aurutils: v20.1
[aurutils.git] / makepkg / aurutils.changelog
blob94e3842d0aebe09051c28bc6cd05a7841845d30a
1 ## 20.1
3 * `aur-chroot`
4   + avoid triggering `--status` when `--path` is given (#1181)
6 ## 20
8 * `aur-chroot`
9   + run `--status` if no modes are specified
11 * `aur-sync`
12   + move git `orderFile` to `XDG_CONFIG_HOME/aurutils/view/orderfile` (#1167)
14 * `aur-view`
15   + define missing `XDG_CONFIG_HOME` (#1177)
17 * `perl`
18   + move `AUR::Repo` to `aur-repo-parse`
19   + move `AUR::Depends::get` to `aur-depends::solve`
20   + move `AUR::Depends::vercmp` to `AUR::Vercmp`
22 ## 19.9
24 * `aur-repo`
25   + warn if a local repository is not configured in pacman.conf (instead of exiting)
27 ## 19.8
29 * `aur-graph`
30   + fix for "add `-REVERSE`" in 19.6
32 ## 19.7
34 * `perl`
35   + `AUR::Depends`: revert broken refactoring (#1166)
37 ## 19.6
39 * `aur-graph`
40   + add `REVERSE`
42 * `aur-sync`
43   + fix `--optdepends` dependency order (#1164)
45 * `aur-view`
46   + diff from `/dev/null` on invalid revision (#1162)
48 * `perl`
49   + `AUR::Depends`: warn about targets that are not found (#1165)
51 ## 19.5
53 * `aur-repo`
54   + print `[]` for no matches with `-Js` (#1153)
56 * `aur-repo-parse`
57   + do not emit repo filename suffix for `Repository` key (#1158)
59 * `man1`
60   + `ccache` with `aur-chroot` needs `--bind-rw` (#1156)
62 ## 19.4
64 * `aur-sync`
65   + add error if `aur-build --status` fails
67 * `aur-build`
68   + add error if `aur-repo --status` or `aur-chroot --status` fails
70 * `perl`
71   + `AUR::Repo`: add `parse_db_file()`
73 ## 19.3
75 * Revert 19.2
77 ## 19.2
79 * `aur-chroot`
80   + add diagnostic when devtools is not installed
82 ## 19.1
84 * `aur-sync`
85   + pass `--root` to `aur-build` (#1148, #1149)
87 ## 19
89 * `aur-build`
90   + add `--cleanbuild`
91   + do not shell quote `--status` paths
92   + early check for buildscript
94 * `aur-chroot`
95   + do not shell quote `--status` paths
97 * `aur-depends`
98   + only include `Self` targets for command-line arguments (`--table`, #1136)
99   + verify dependency version requirements (`--verify`)
101 * `aur-graph`
102   + prevent unwanted matches in certain URLs (#1134)
104 * `aur-repo`
105   + add `-m` / `--missing`
106   + add `--ignore`, `--ignore-by`
107   + do not shell quote `--status` paths
108   + fix invalid output with `--json --search` (#1126)
110 * `aur-sync`
111   + document `aur-view` options
112   + detect local repositories with `--chroot` configuration (#1135)
113   + add `--clean` / `-C`, `--cleanbuild`
114     - default build command changed to `aur build --syncdeps`
115   + add `aur-sync--filter` helper (#1136, #1140)
117 * `aur(1)`
118   + use `git-clean -ixd` to clean directories with `aur-gc`
120 * `perl`
121   + add `Depends.pm`, `Repo.pm`
123 ## 18.5
125 * `aur-repo`
126   + prefix pacman.conf in error messages (#1118)
128 * `aur-build`
129   + propagate `--pacman-conf` to local repository upgrade
131 ## 18.4
133 * `aur-repo`
134   + fix incomplete output with `--search` (`--json`, #1120)
136 ## 18.3
138 * `aur-build--pkglist`
139   + do not source `PKGBUILD` in `$PATH` (#1115)
141 * `aur-repo`
142   + use pacman `DBPath` as `root` (`--sync`)
144 * `aur-depends`
145   + skip lines with equal `pkgbase` (`--pkgbase`)
147 ## 18.2
149 * `aur-repo`
150   + do not require `file://` path for specified repository (#1113)
152 * `aur-depends`
153   + fix regression introduced in v18 (#1112)
155 * `aur-build`
156   + fix `--temp` (#1111)
158 ## 18.1
160 * `aur-chroot`
161   + remove `/usr/share/devtools/pacman.conf.d/aurutils.conf` path introduced in v18
163 ## 18
165 * `aur-build`
166   + add `--dbext`
167   + shell escape file paths in diagnostics
169 * `aur-chroot`
170   + take file paths in `/etc/aurutils` into account
171   + add `--build` options (`-A`, `--nocheck`, `--namcap`, `--checkpkg`, `--temp`, `--user`)
172   + add `--status`
173     + `--path` is now deprecated
174   + `--suffix` no longer defaults to `extra`
176 * `aur-depends`
177   + `RequiredBy` is now a flat dictionary (`--json`, `--jsonl`)
179 * `aur-fetch`
180   + only run git-rebase/merge on new upstream commits
182 * `aur-repo`
183   + shell escape printed file paths
184   + add `--dbext`
185   + require a configured pacman repository (`--database`)
187 ## 17.3
189 * `aur-build`
190   + use `printf` instead of `warning` (#1101)
192 ## 17.2
194 * `aur-sync`
195   + remove repository write check
197 * `examples`
198   + rename `sync-rebuild --vcs` to `--pkgver`
200 ## 17.1
202 * `examples`
203   + add `--vcs` for `sync-rebuild`
205 ## 17
207 * `aur-sync`
208   + `--no-build` now prints `AURDEST` paths regardless of `AUR_SYNC_USE_NINJA` (#1096)
210 * `examples`
211   + remove `python-pyxdg` dependency (#1096)
212   + fixes for `sync-rebuild` (#1096)
214 ## 16.5
216 * `examples`
217   + add `--chroot`, `--user` for `sync-rebuild`
219 ## 16.4
221 * `aur-repo-parse`
222   + improve `Repository` field
223   + check database extension
225 * `examples`
226   + add AUR dependency resolution for `sync-rebuild`
228 ## 16.3
229 * `aur-sync`
230   + only print queue with `--no-build` to standard output
232 ## 16.2
234 * `aur-sync`
235   + `--save` now applies when building packages
237 ## 16.1
239 * `examples`
240   + fixes for `sync-rebuild`
242 ## 16
244 * `aur-repo`
245   + `--status` is now the default
246   + add `Repository` to `--json` / `--jsonl` output
248 * `aur-format`
249   + add `%R` format option
251 * `perl`
252   + `write_json()` now returns a string
254 * `aur`
255   `--env` now prints `PERL5LIB`
257 ## 15.7
259 * `aur-repo`
260   + add `--search`, `--search-by` (#1057)
262 * `aur-sync`
263   + `--save`: do not use `/dev/stdout` (#1083)
265 ## 15.6
267 * `examples`
268   + remove `AUR_EXEC_PATH` from `sync-asroot` [fixup]
270 ## 15.5
272 * `aur-build`
273   + support makepkg configuration in `/etc/aurutils` (#1076)
275 * `aur-depends`
276   + add `--jsonl`
278 ## 15.4
280 * `aur-sync`
281   + add `--save`
283 * `examples`
284   + `sync-asroot` now works with `AUR_PAGER=ranger` (#1077)
285   + `sync-rebuild` python rewrite
287 ## 15.3
289 * `aur-pkglist`, `aur-view`, `aur-search`
290   + prefix errors with command name
292 ## 15.2
294 * `aur-chroot`
295   + adjust default `makepkg`, `pacman` paths depending on `devtools` version (#1072)
297 ## 15.1
299 * `aur-pkglist`
300   + remove deprecated options (`-J` (`--json`), `-I`, `-S`) [fixup]
302 ## 15
304 * `aur-repo`
305   + add `--format` (`-f`), `--delim`
307 * `aur-format`
308   + support `aur-repo-parse --jsonl` input (`AUR::Json.pm`)
310 * `aur-pkglist`
311   + remove deprecated options (`-J` (`--json`), `-I`, `-S`)
312   + update documentation
314 * `examples`
315   + `sync-rebuild` now respects package `epoch`
317 ## 14.1
319 * `aur-sync`
320   + fix exit codes for `tsort`, `aur-repo-parse`
322 ## 14
324 * `aur-depends`
325   + add `Self` dependency for every target (#1065)
327 * `aur-sync`
328   + `--rebuild-tree` now implies `--no-provides` (#1068)
329   + add `--no-sync` (`aur-build --no-sync`) (#1064)
331 ## 13.8
333 * `aur-depends`
334   + add `--show-all` (alias for `--all`)
335   + prune virtual targets with `--all`
337 ## 13.7
339 * `aur-depends`
340   + fix regression in 13.6
342 ## 13.6
344 * `aur-depends`
345   + fix output when non-AUR targets are specified on the command-line (#1062)
347 ## 13.5
349 * `aur-build`
350   + use /etc/aurutils/pacman-<db_name>.conf only with `--database` or `AUR_REPO` set
352 ## 13.4
354 * `aur-fetch`
355   + exit 0 on empty stdin (`-`, `/dev/stdin`)
357 * `aur-depends`
358   + exit 0 on empty stdin (`-`, `/dev/stdin`)
360 * `aur-query`
361   + exit 0 on empty stdin (`-`, `/dev/stdin`)
363 * `aur-view`
364   + evaluate `AUR_CONFIRM_PAGER`
366 ## 13.3
368 * `Makefile`
369   + correctly install to `AUR_LIB_DIR`
371 * `aur-build`
372   + get local repository state before `--chroot` configuration
374 * `aur-graph`
375   + add `PRINTALL`
377 * `aur.1`
378   + fixes for `aur-format`
380 ## 13.2
382 * `build--pkglist`
383   + set `pkgname` as fallback for `pkgbase` (#1058)
385 ## 13.1
387 * `aur-fetch`
388   + fix regression for `aur-fetch--mirror`
390 ## 13
392 * `aur-build`
393   + add `--null` (`-z`)
394   + add `AUR_BUILD_PKGLIST` environment variable
396 * `aur-build--pkglist`
397   + remove `--user` (`-U`)
398   + only run as root with `AUR_ASROOT` set
400 * `aur-depends`
401   + add `--assume-installed`
403 * `aur-srcver`
404   + accept arbitrary source directories as arguments
405   + add `--arg-file` (`-a`), `--null` (`-z`), `--margs`
406   + add `AUR_MAKEPKG` environment variable
407   + only run as root with `AUR_ASROOT` set
408   + exit 1 if any `makepkg` job failed
410 * `aur-sync`
411   + `--ignore` now removes dependencies of ignored targets
413 * `examples`
414   + update `sync-asroot` to use `AUR_BUILD_PKGLIST`
416 ## 12.1
418 * `AUR.pm`
419   + call `urlencode()` when retrieving URIs with `AUR::Query` (#1053)
421 * `aur-depends`
422   + documentation updates
424 ## 12
426 * `aur-build`
427   + merge helper `aur-build--sync` back to `aur-build`
428   + avoid errors with PKGBUILDs that fail to source with `set -e`
430 * `aur-repo-filter`
431   + `unbuffer` is now optional (#1052)
433 * `aur-view`
434   + use null seperated lists as input to vifm(1)
436 * `examples`
437   + add `sync-rebuild`
439 * `lib`
440   + unset `CDPATH` where needed
441   + use `getopt` instead of `parseopts.sh` from libmakepkg
443 * `man1`
444   + documentation updates
446 ## 11
448 * `aur-build`
449   + add `aur-build--sync` helper for local repository upgrades
450     - `sudo pacman -Syu --config` is replaced by `sudo pacsync <repo>` and `sudo pacman -S <repo>/<pkg>`
451     - local repository upgrades are now unaffected by `--pacman-conf`
452   + add `exist:` to `--results` output
453     - remove `--dry-run`
454   + fallback to `/etc/aurutils/pacman-<machine>.conf` if `pacman-<database>.conf` does not exist
455   + rename `MAKEPKG` environment variable to `AUR_MAKEPKG`
456   + replace experimental `AUR_ASROOT` functionality (#1023)
457     - add `examples/sync-asroot`
458     - add `--user` to `aur-build--pkglist`
459     - add `AUR_GPG`, `AUR_REPO_ADD`, `AUR_MAKEPKG` environment variables
461 * `aur-chroot`
462   + remove `--packagelist` (deprecated in v8)
463   + run `sudo --preserve-env` when `AUR_PACMAN_AUTH` is empty or `sudo`
465 * `aur-depends`
466   + perl rewrite
467   + add `--json`, `--reverse`
468   + take provides on the command-line into account (#837)
469     - add `--no-provides`
470   + default output changed to `--graph --pkgbase`
471     - ordered output with `aur-depends --reverse | tsort`
473 * `aur-fetch`
474   + add `aur-fetch--mirror` helper for `aur.git` mirrors
475     - defaults to `github.com/archlinux/aur`
476     - enable with `AUR_FETCH_USE_MIRROR=1`
477   + run flock(1) when modifying existing repositories
478   + run git-checkout(1) when using `--sync=rebase` with `--discard` (#1006)
480 * `aur-graph`
481   + selectively disable/enable depends with `aur graph -v <TYPE>=[0|1]`
482     - supported types: `DEPENDS`, `MAKEDEPENDS`, `CHECKDEPENDS`, `OPTDEPENDS`
483     - forwarded by `aur-sync` (`--optdepends`, `--no-check`)
485 * `aur-repo`
486   + add `--json`, `--jsonl`
488 * `aur-query`
489   + perl rewrite
490   + remove support for parallel (`AUR_QUERY_PARALLEL`) and `GET` requests
491   + set operations (union, intersection) are moved to `aur-search`
492     - remove `--any`, `--exit-if-empty`
493     - `--raw` is noop
494   + remove `--dump-curl-config`
495     - print command-lines with `AUR_DEBUG=1`
496   + `-t` / `--type` is now a required parameter
498 * `aur-search`
499   + perl rewrite
500   + add `--reverse`
501     - `-r` is now an alias to `--reverse`
502   + add `--submitter`, `--provides`, `--conflicts`, `--replaces`, 
503     `--keywords`, `--comaintainers`
504   + exit 4 on AUR response errors such as `query too small` (was: exit 2)
506 * `aur-sync`
507   + add diagnostic for missing packages with `--continue`
508   + save `ninja.build` files in `XDG_STATE_HOME/aurutils/sync`
509   + add `--columns`
511 * `aur-view`
512   + add `--exclude`, `--prefix`
514 * `aur-format`
515   + new helper
517 * `aur-repo-parse`
518   + new helper
520 * `completion`
521   + support extending `zsh` completion for third party commands (#1016)
523 * `examples`
524   + add `view-delta` (requires: `bat`, `git-delta`)
525   + add `sync-asroot`
527 ## 10
529 * `aur`
530   + support environment files (`$AUR_ENV`, defaults to `$XDG_CONFIG_HOME/aurutils/env`)
531   + add `--env`
533 * `aur-build`
534   + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
535   + use `$PWD` as default value for `$LOGDEST`
536   + bug fixes for gpg signing (`--sign`)
538 * `aur-chroot`
539   + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
541 * `aur-fetch`
542   + `--sync=auto`: run `git-merge` instead of `git-reset`
543     - add `--ff`, `--ff-only`, `--no-ff`, `--no-commit` options
544     - fix a bug where setting `aurutils.rebase` affected unrelated targets
545     - set default author for merge commits to `aurutils@localhost`
546   + `--sync=auto` now preserves local changes by default
547     - `--discard` (`-f`) resets the branch on new upstream commits
548   + add `--reset`, `--rebase`, `--auto` (`--sync=reset`, `--sync=rebase`, `--sync=auto`)
549   + support multiple branches, with commits merged from `origin/master`
551 * `aur-pkglist`
552   + output is now independent of command-line argument order
553   + deprecate `-I`, `-S`, `-u`
554     - renamed to: `-i` (`--info`), `-s` (`--search`) `-q` (`--quiet`)
555   + deprecate `-J` (`--json`)
556     - behaves like `--plain`, remove pretty-printing with `jq`
557   + add `--systime`
559 * `aur-repo`
560   + `-q` now applies to `--list` and `--upgrades`
561   + add `--list-attr`
562   + deprecate `--status-file`
564 * `aur-search`
565   + add `--color` (`auto`, `always`, `none`)
567 * `aur-srcver`
568   + remove `-E`, `--env` (deprecated in v8)
570 * `aur-sync`
571   + use pkgspec `<REPOSITORY>/<PACKAGE>` format for `--ignore-file`
572     - support for sections (introduced with v6.3) is removed (#880)
573     - <PACKAGE> ignores apply to all local repositories
574   + add `--rebase`, `--reset` options for `aur-fetch`
575   + exit 22 on dependency cycles (v7 regression)
576   + filter dependency graph by pkgname, not depends (v7 regression)
577   + store `build.ninja` files in `$XDG_RUNTIME_DIR/aurutils`
579 * `completions`
580   + major overhaul of zsh completions (#990)
582 ## 9.6
584 * `aur-pkglist`
585   + add `AUR_METADEST` (directory where metadata archives are stored)
586   + add `--quiet`
588 * `aur-fetch`
589   + write `git-merge` to `results_file` if the command is run
591 ## 9.5
593 * `aur-build`
594   + add `--results-append`
595   + write results file as build user
597 * `aur-query`
598   + support `--type=suggest`
600 ## 9.4
602 * `aur-build`
603   + revert "retrieve local repository before setting --chroot paths"
605 ## 9.3
607 * `examples`
608   + rework `sync-list`
610 ## 9.2
612 * `aur-build`
613   + deprecate `--results`
614   + retrieve local repository before setting `--chroot` paths
615   + unset `PKGEXT` when using `--chroot`
617 * `aur-search`
618   + use OSC8 terminal hyperlinks (#849)
620 ## 9.1
622 `aur-build` now uses `setpriv(1)` to run unprivileged commands (`makepkg`, `gpg`,
623 `repo-add`) when `AUR_ASROOT` is combined with `--user`. This change has no
624 effect when running `aur-build` as a regular user.
626 Usage:
628   $ sudo env AUR_ASROOT=1 aur build --chroot --user <build_user> ...
630 The above works with `--chroot` (`makechrootpkg -U`). Environment variables in
631 the root environment are preserved for user commands, similar to `runuser -c`.
632 Host builds using `makepkg --syncdeps` to install dependencies require further
633 configuration.
635 ┌──────────────────────────────────────────────────────────────────────────────┐
636 │ WARNING!                                                                     │
637 │                                                                              │
638 │ Running `aur-build` as root is experimental and disabled by default. If your │
639 │ install breaks, you get to keep both pieces.                                 │
640 └──────────────────────────────────────────────────────────────────────────────┘
642 ## 9
644 * `examples`
645   + add `chroot-batch`
647 * `lib`
648   + add `aur-build--pkglist`
650 * `aur-build`
651   + add `--dry-run`
652   + redirect `makepkg -od` output (`--pkgver`) to stderr
653   + sign existing packages (#967)
655 * `aur-fetch`
656   + add `--no-pager` to the `git log` command (#969)
657   + `--existing`: clone instead of skip targets if they exist
659 * `aur-sync`
660   + redirect `aur-fetch` output to stderr (#974)
662 ## 8.3
664 * `aur-fetch`
665   + add `--revision`
666   + add `--no-patch`
668 * `aur-repo`
669   + add `--field`
671 * `examples`
672   + add `vercmp-devel`, `sync-list`
673   + rename `aur-sync-devel` to `sync-devel`
675 ## 8.2
677 * `aur-srcver`
678   + add separator before first failed package
680 * `aur-fetch`
681   + handle empty `git` repositories (#959)
683 * `man7`
684   + remove `aurvcs.7`, move `aur-sync-devel` to `examples`
686 ## 8.1
688 * `aur-srcver`
689   + fix directory to source the build script from (#958)
691 ## 8
693 * `aur-chroot`
695 The `aur-chroot` command-line was changed so that `--create`, `--build` and
696 `--update` can be used in a single command. Command-line arguments are now
697 exclusively used for packages passed to `mkarchroot` and `arch-nspawn`.
698 To set `makechrootpkg` options, the new `--margs` and `--cargs` options are
699 available. As `aur-build --margs`, these take a comma-delimited string and
700 can be specified multiple times. (Issues: #950, #807)
702 The `--packagelist` command is now deprecated. The container path can be
703 retrieved with the `--path` option, e.g for use with `makepkg --config`.
705 * `aur-build`
706   + Consider all repositories (`Usage = Install`) for local repository upgrade (#956)
708 * `aur-srcver`
709   + add `--buildscript`
710   + deprecate `-E` / `--env`
711     - `get_full_version` from `libmakepkg` is now used after running `makepkg`
712   + take arguments from `stdin` if `-` is specified
714 * `aurvcs.7`
715   + run `aur-fetch` and `aur-view` before `aur-srcver`
716   + sample code remaned to `aur-sync-devel`
718 ## 7.2
720 * `aur-search`
721   + add `OptDepends` to `--info` output (#945)
722   + handle empty keywords in `--info` output (#946)
724 * `aur-depends`
725   + add `--optdepends` (#945)
727 * `aur-sync`
728   + add `--optdepends` (#945)
730 ## 7.1
732 * `aur-build`
733   + pass --nocheck to chroot (#942)
735 * `aur-sync`
736   + avoid off-by-one in ninja build summary (#940)
738 * `aur-query`
739   + do not abort if `-t` is unspecified (#938)
741 ## 7
743 This release adds optional support for the `ninja` build system. If the
744 `AUR_SYNC_USE_NINJA` environment variable is set to a positive value,
745 `aur-sync` will generate `build.ninja` where each target has an `aur-build`
746 command-line. This allows to continue building a series of packages when
747 several failed, with the maximum of failed targets controlled by the `-k` /
748 `--keep-going` option.  On failure, a summary of successful ("OK") and failed
749 ("FAIL") package builds is printed. The `--no-build` option in turn only
750 generates `build.ninja`, and prints the corresponding directory to `stdout`.
752 The logic to generate `build.ninja` files is exposed in the `aur-sync--ninja`
753 script. It can be used with other `aur` programs that output `pkgbase
754 depends_pkgbase` pairs, for example:
756   $ aur depends --graph "$@" | aur sync--ninja "$PWD" -- aur build
758 When running `ninja` on the resulting file, each successfully built `pkgbase`
759 will result in a `pkgbase.stamp` file. If the corresponding `PKGBUILD` is
760 modified, it will be marked for rebuilding by `ninja`. This can for example be
761 used for a git repository which hosts multiple `PKGBUILD` directories.
763 ## 6.4
765 * `aur-depends`
766   - add `--graph`
767   - checkdepends are now removed during dependency resolution, not afterwards (#882)
769 ## 6.3
771 * `aur-sync`
772   - `--ignore-file` now supports per-repository sections (INI-style)
773   - do not ignore targets when specified on the command-line
775 ## 6.2
777 * `aur-pkglist`
778   - add `-v` / `--verify` (verifies published sha256sums)
780 * `aur-repo-filter`
781   - add repository to dependency messages ("dependency foo satisfied by repo/bar")
782   - deduplicate results on stdout
784 ## 6.1
786 * `aur-search`
787   - do not print additional messages on errors or no results
789 * `aur-query`
790   - add `-a` alias for `--any`
791   - add missing newline in case of errors (`jq -r`)
793 ## 6
795 In previous versions, `aur search` would display an intersection of search
796 results, the symmetric difference with `-a` (bug), and the concatenation with
797 `-r`. (#918)
799 `aur search -a` now correctly returns the union, and the `-r` output is
800 processed with jq(1) to return the intersection by default, or the union (with
801 duplicates removed) with `-a`. This processing is done because the RPC
802 interface as of aurweb 6.0.11 does not expose set operations, and so
803 `aur-search` performs one search for each argument. `aur search --json` was
804 added as an alias to `--raw`, and the latter option is now deprecated.
806 The implementation is done in `aur-query`, which now takes the intersection of
807 search results by default. The union can be taken with `aur query --any`, or
808 unprocessed results shown with `-r` or `--raw`. In each case, the output is
809 newline delimited (JSON Lines, `jq -r`). If the search completed without
810 results, `aur-query` will either exit with status 0 (if no request resulted in
811 an error), 1 (if the `-e` option was specified), or 2 (if at least one request
812 resulted in an error).
814 `AUR_QUERY_RPC_SPLITNO_POST` received bug fixes (#920), and the default has
815 been reduced to 500 after experiencing issues with a larger number of
816 arguments. Users looking to use `aur-query -t info` with a very large number
817 of arguments should instead consider `aur pkglist --info`.
818 `AUR_QUERY_RPC_PARALLEL` also received several bugfixes.
820 ## 5
822 * `aur-srcver`
823   + add `-E` / `--env` (#898)
825 * `aur-query`
826   + support HTTP POST for info-type requests
827   + use `aurutils` user agent (`curl -A`)
829 * `aur-pkglist`
830   + use `aurutils` user agent (`curl -A`)
832 * `aur-repo-filter`
833   + add `--config` to set pacman configuration
835 ## 4.4
837 * `aur-sync`
838   + fix regressions with `--ignore` from 4.3 release
840 ## 4.3
842 * `aur-build`
843   + wordsplit MAKEPKG and PACMAN_AUTH
845 * `aur-sync`
846   + improve error handling
848 ## 4.2
850 * `aur-build`
851   + support PACMAN_AUTH environment variable for custom elevation command
853 * `aur-repo`
854   + improve error handling
855   + remove extraneous `--` on `--path` output
857 ## 4.1
859 * `aur-build`
860   + handle absolute paths in `--arg-file`
862 * `aur-pkglist`
863   + add `--users` (`-U`) to retrieve a list of AUR users
864   + update aur-pkglist(1) man page
866 * `aur-repo`
867   + fix formatting for `--table` and packages with no dependencies
869 ## 4
871 * `aur-build`
872   + add `--no-check` (`makepkg --nocheck`)
874 * `aur-search`
875   + add `--table`
877 * `aur-fetch`
878   + add compatibility options (`--recurse`)
880 * `aur-repo`
881   + add compatibility options (`--path`, `--path-list`, `--repo-list`)
882   + fix regression with `AUR_QUERY_PARALLEL`
884 * `aur-sync`
885   + add `--no-check` (short for `--no-checkdepends`)
886     - implies `aur-build --no-check`
887   + apply `--ignore` to local repository targets
888   + `--ignore-file` now works with process substitution (#880)
889   + remove `--no-depends`, `--no-makedepends`
891 ## 3.3.0
893 `aur-query` and `aur-fetch` now take arguments from the command-line
894 by default. If `-` or `/dev/stdin` is the first (and only) arguments,
895 they are taken from `stdin` instead. In particular, `aur fetch --recurse`
896 is now written as `aur depends --pkgbase ... | aur fetch -`, and the
897 explicit `--recurse` option was removed.
899 The `-` argument propagates to `aur-depends` and `aur-search`
900 transparently. Additionally, `aur-sync` no longer calls `aur-depends`
901 and `aur-fetch` with `xargs`, avoiding the 123 exit code on failure of
902 these commands.
904 ## 3.2.1
906 * `aur-query`
907   + support AUR_LOCATION
908   + preserve `curl --parallel` exit codes (requires curl >=7.77.0)
909   + complete aur-query(1) man page
911 * `aur-pkglist`
912   + support multiinfo and search dumps (`--info`, `--search`)
913   + support HTTP Last-Modified
915 * `aur-fetch`
916   + add `--existing`
918 * `aur-view`
919   + new script that includes the package inspection logic from `aur-sync`
921 ## 3.2.0
923 * `aur-build`
924   + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
925   + resolve path argument to `--results`
926   + use `aur repo --status` for repository selection
927     - allows specifying `--root` without `--database`
928   + print diagnostic if packages were not moved to local repository (#794)
929   + merge `--config` and `--pacman-conf` (#808, #824)
930   + fallback to /etc/aurutils/pacman-<arch>.conf if --chroot is used without --database (#846)
931   + add diagnostic if chroot pacman.conf is non-existing (#783)
933 * `aur-depends`
934   + add `--no-depends`, `--no-makedepends`, `--no-checkdepends` (#826)
935   + add dependency kind column to `--table` output
937 * `aur-chroot`
938   + preserve `SSH_AUTH_SOCK` to support ssh-based operations (#832)
940 * `aur-repo`
941   + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
942   + add `--status`
943     - `repo:<NAME>\nroot:<PATH>\npath:<PATH/NAME.DBEXT>` output format
944     - replaces `--path`
945   + rename `--repo-list` to `--list-repo`
946   + rename `--path-list` to `--list-path`
948 * `aur-repo-filter`
949   + run `pacsift` with `unbuffer` (#804)
951 * `aur-vercmp`
952   + remove colon from `checkupdates` and `equal_or_newer` format (#833)
954 ## 3.1.2 - 2020-11-09
956 This releases fixes a regression in 3.1.1 where `AUR_LIB_DIR` was not
957 subsituted in `aur`.
959 ## 3.1.1 - 2020-11-09
961 * `aur`
962   + add `--version`
964 ## 3.1.0 - 2020-11-09
966 * `aur`
967   + fix example `aur-remove` script (#785)
969 * `aur-build`
970   + change default pacman-conf for chroot builds to /etc/aurutils/pacman-<dbname>.conf
971   + clarify conditions on pacman-conf for chroot builds in `aur-build.1`
973 * `aur-chroot`
974   + add `--create`
975     - seperate mode which runs `mkarchroot` with packages taken from the command-line
976     - defaults to base-devel (and multilib-devel, if applicable) if no packages are specified
977     - `--update` no longer runs `mkarchroot`
978   + `--packagelist` now uses `makepkg.conf` inside the container
979   + add `Devtools limitations` section to `aur-chroot.1` (#782)
980   + add additional error messages for missing pacman configuration
982 * `aur-repo`
983   + add `--path-list`
984   + update man page for new arguments (#784)
985   + remove `--ini` (only offered pacman.conf information)
987 ## 3.0.3 - 2020-11-02
989 * fix broken `zsh` completion (#776)
990 * use `/tmp/aurutils-$UID` as default temporary directory (#775)
992 ## 3.0.2 - 2020-10-30
994 * `aur-sync`
995   + add missing `--suffix` option (#773)
997 ## 3.0.1 - 2020-10-29
999 The commits:
1001 + aur-sync: use XDG_RUNTIME_DIR for view directory (5341c059736d3eff59daea5cb52b7d35c98d0824)
1002 + aur-repo: simplify command line (57c1b2157806e645e7de85bf24e2c28b7d5f4458)
1004 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.
1006 ## 3.0.0 - 2020-10-29
1008 * `aur`
1009   + add `AUR_EXEC_PATH` environment variable
1010   + add example `aur-gc`, `aur-remove` scripts to `aur.1`
1012 * `aur-build`
1013   + add `AUR_DEBUG`, `NO_COLOR`, `MAKEPKG` environment variables
1014   + add mollyguard for running as the `root` user
1015   + add `build:` prefix to `--results` output
1016     - `build:file:///path/to/package.tar.xz`
1017   + add `--new`, `--prevent-downgrade` (`repo-add` options)
1018   + add `Running` message for all `makepkg` invocations
1019   + replace `--build-command` with `--margs` and `$MAKEPKG`
1020   + remove default `makepkg` arguments (#635)
1021     - specify common `makepkg` options as `aur-build` arguments (`--syncdeps`, `--rmdeps`, `--ignorearch`, `--log`, `--noconfirm`)
1022     - pass `--syncdeps`, `--rmdeps` to `--pkgver` makepkg command (#716)
1023     - make `-r` an alias for `--rmdeps` (was: alias for `--root`)
1024     - make `-S` an alias for `--sign` (was: `-s`)
1025   + use `--margs` to set makepkg options instead of EOF seperator (`--`)
1026   + `--makepkg-conf` now sets the makepkg configuration for host builds (avoid quoting issues with setting `--config` in `--margs`)
1027   + use `makepkg --noextract` if `--pkgver` is specified (#708)
1028   + use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`) instead of `makepkg --packagelist` (#755)
1029   + pass pacman.conf (`--config`) to `aur-repo` (#654)
1030   + only remove intermediary package directory if empty (#602)
1031   + remove `--delta`
1032   + use `PKGDEST` instead of `makepkg.conf` to set package destination
1034 * `aur-chroot`
1035   + add `AUR_DEBUG` environment variable
1036   + add `--packagelist`
1037     - use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`)
1038   + replace `--no-prepare` and `--no-build` (disable steps) with `--update` and `--build` (enable steps) respectively
1039   + remove `--database`
1040   + use static pacman configuration (defaults to `/usr/share/devtools/pacman-extra.conf`)
1041     - `--suffix` to override `extra` in the default path
1042     - if `--suffix` begins in `multilib`, install `multilib-devel` (instead of `base-devel`)
1044 * `aur-fetch`
1045   + add `AUR_DEBUG`, `NO_COLOR` environment variables
1046   + add `--results` (colon-delimited output)
1047   + add `--sync`
1048     - only run `git fetch` by default;
1049     - run `git reset` if `--sync=reset` is specified;
1050     - run `git rebase` if `--sync=rebase` is specified;
1051     - run either `git reset` or `git rebase` if `--sync=auto` is specified
1052   + exit `1` if `git clone` or `git fetch` failed
1053   + remove support for `tar` archives
1054   + remove diff output (`--log-dir`, `--verbose`, `--format`)
1055     - diffs can be generated from the extended --results output (done in `aur-sync`)
1056   + remove setting `orderfile` (done in `aur-sync`)
1057   + use `git -C` for `git` calls
1059 * `aur-jobs` (removed)
1060   - remove script
1062 * `aur-pkglist`
1063   + add `AUR_DEBUG` environment variable
1064   + use `curl` for transfers instead of `wget`
1066 * `aur-rpc` (`aur-query`)
1067   + add `AUR_DEBUG`, `AUR_QUERY_RPC`, `AUR_QUERY_RPC_SPLITNO`, `AUR_QUERY_PARALLEL`, `AUR_QUERY_PARALLEL_MAX` environment variables
1068   + rename to `aur-query`
1069   + set AUR RPC address with `AUR_QUERY_RPC` instead of a combination of `--rpc-url`, `--rpc-ver` and `AUR_LOCATION`
1070   + set number of packages for splitting URIs with `AUR_QUERY_RPC_SPLITINFO`
1071   + set `AUR_QUERY_RPC_SPLITNO` to set of number of packages for splitting URIs
1072   + use `curl` for transfers instead of `wget`
1073     - enable parallel transfers (`curl --parallel`) with `AUR_QUERY_PARALLEL=1`
1074     - set maximum amount of parallel transfers (`curl --parallel-max`) with `AUR_QUERY_PARALLEL_MAX`
1075   + exit `1` if a transfer failed
1077 * `aur-repo-filter`
1078   + add `AUR_DEBUG` environment variable
1079   + add `--sysroot` (`pacsift --sysroot`, `pacinfo --sysroot`)
1080   + use `pacinfo` for package information instead of `expac`
1082 * `aur-repo`
1083   + add `AUR_DEBUG` environment variable
1084   + add `--config`
1085   + add `--ini`
1086   + add `--quiet`/`-q` (`aur-vercmp -q`)
1087   + add `--table`
1088   + add pacman configuration to `--status-format` (colon-delimited)
1089   + print fully resolved path to local repository
1090   + require `--path` to print the local repository path
1091   + remove `expac` dependency
1093 * `aur-search`
1094   + add `AUR_DEBUG`, `NO_COLOR` environment variables
1095   + unset `LC_ALL` when printing `Popularity`
1097 * `aur-srcver`
1098   + add `AUR_DEBUG` environment variable
1099   + add `--jobs`
1100   + do not use `makepkg --log`
1101   + remove `parallel` dependency
1103 * `aur-sync`
1104   + add `AUR_DEBUG`, `NO_COLOR`, `AUR_CONFIRM_PAGER` environment variables
1105     - use confirmation prompt after package review if `AUR_CONFIRM_PAGER` is set
1106   + add `--rebuild-all`
1107   + add mollyguard for running as the `root` user
1108   + add default ignore file in `$XDG_CONFIG_HOME/aurutils/sync/ignore`
1109   + do not fallback to `PAGER` or `less` (`AUR_PAGER` must be set or `vifm` installed)
1110   + enable `--provides` by default
1111     - disable with `--no-provides`
1112     - specify repositories with `--provides-from` (comma-delimited)
1113   + remove additional `aur-build` arguments after EOF separator (`--`) (#678)
1114   + remove `parallel` dependency
1115   + remove `AURDEST_SNAPSHOT` environment variable
1116   + remove `--git`, `--tar`
1117   + rename `--print` to `--no-build`/`-o`
1118   + rename `--no-ver-shallow` to `--no-ver-argv`
1119   + store commits viewed by the user (#379, #711)
1120   + use `aur-fetch --sync=auto`
1122 * `aur-vercmp`
1123   + add `AUR_DEBUG`, `NO_COLOR` environment variables
1125 * `Makefile`
1126   + allow overriding `AUR_LIB_DIR` at build time
1128 ## 2.3.7
1130 ## 2.3.6
1132 ## 2.3.5
1134 ## 2.3.4
1136 ## 2.3.3
1138 ## 2.3.2
1140 ## 2.3.1 - 2019-02-21
1142 * `aur-build`
1143   + add `--results`
1144 * `aur-sync`
1145   + documentation updates (#350, #507)
1146   + ask for confirmation if `PAGER` is set (#530)
1147 * `aur-repo-filter`
1148   + documentation updates (#438)
1150 ## 2.3.0 - 2019-02-18
1152 * `aur-build`
1153   + add `--holdver` to makepkg with `--pkgver`
1154   + exit 2 if `db_path` is not found
1155 * `aur-repo-filter`
1156   + support versioned packages (#404)
1157   + remove `--repo` alias to `--database`
1158 * `aur-srcver`
1159   + remove `--noprepare` from default makepkg options
1160   + add `--noprepare` option (#523)
1161 * `aur-sync`
1162   + wrap repo-add `-R` (#521)
1163   + add `--no-graph` (workaround for #516)
1164 * `aur-vercmp`
1165   + add `-q`/`--quiet`
1166   + rename `--equal` to `--current`
1167 * `completions`
1168   + group options by type (#520)
1169   + complete `aur-depends` options (#526)
1171 ## 2.2.1 - 2019-01-25
1173 * `aur-build`
1174   + add `--holdver` to `makepkg` options if `--pkgver` is enabled
1175 * `aur-repo`
1176   + do not include `repo:` in error messages
1177   + `--all` implies `--upgrades`
1178 * `aur-sync`
1179   + `cd` before invoking `$PAGER` (#518)
1180 * `aur-repo-filter`
1181   + if `stdin` is connected to a terminal, mention this on `stderr`
1182 * `aur-rpc`
1183   + if `stdin` is connected to a terminal, mention this on `stderr`
1184 * `aur-vercmp`
1185   + if `stdin` is connected to a terminal, mention this on `stderr`
1187 ## 2.2.0 - 2019-01-22
1189 * `aur`
1190   + update `CacheDir` instructions in `aur(1)`
1191 * `aur-build`
1192   + rename `--run-pkgver` to `--pkgver`, remove `LANG=C` from `makepkg -od`
1193   + remove `~` package backup on `--force` (#444)
1194   + propagate `--pacman-conf` to `pacman-conf` (local builds)
1195   + unset `PKGDEST` prior to running `makepkg` (#513)
1196   + remove `--rmdeps` from default options (#508)
1197 * `aur-fetch`
1198   + expose AUR URL through `AUR_LOCATION` environment variable
1199 * `aur-pkglist`
1200   + do not require `-P` for regex match
1201   + Expose AUR URL through `AUR_LOCATION` environment variable
1202 * `aur-rpc`
1203   + add `--rpc-ver`, `--rpc-url`
1204   + Expose AUR URL through `AUR_LOCATION` environment variable
1205 * `aur-search`
1206   + exit 1 on no results
1207   + exit 2 on AUR error (e.g. "too many results")
1208   + Expose AUR URL through `AUR_LOCATION` environment variable
1209 * `aur-sync`
1210   + add `--pkgver` (`aur-build --pkgver`)
1211   + remove `--rmdeps` from default options (#508)
1212 * `completion`
1213   + allow `zsh run-help` to display the correct man page (#506)
1215 ## 2.1.0 - 2019-01-16
1217 * `aur-build` 
1218   + `--build-command` now works correctly
1219   + add `--run-pkgver` to run `makepkg -od` before `makepkg --pkglist` (relevant to VCS packages)
1220 * `aur-depends`
1221   + now takes input as arguments, instead from `stdin`
1222   + add `--table`, `--pkgbase`, `--pkgname` and `--pkgname-all` (defaults to `--pkgname`)
1223 * `aur-search`
1224   + add `--raw` to display JSON output
1225 * `aur-sync`
1226   + add `--ignore-file` (same as `aursync --ignore`)
1227   + check the (`.SRCINFO`) dependency graph before file inspection
1228 * `aur-fetch-git` and `aur-fetch-snapshot` were removed and merged to `aur-fetch`
1230 ## 2.0.1 - 2019-01-11
1232 * `aur-build`
1233   + do not export PKGDEST for non-chroot builds (#498)                               
1234   + add --build-command (#498)
1235   + man page updates (#217)
1236 * `aur-sync`
1237   + add --keep-order for parallel aur-fetch
1239 ## 2.0.0 - 2019-01-10
1241 * `aur` *(new)*
1242   + wrapper for the new `git(1)` based design
1243 * `aur-build`
1244   + remove `repose` support, see https://bbs.archlinux.org/viewtopic.php?pid=1707649#p1707649
1245   + abort if updating a signed database without `-s` (#246)
1246   + add `AUR_REPO`, `AUR_DBROOT` environment variables (#302)
1247   + add `--makepkg-conf`, `--pacman-conf` (#242)
1248   + use `pacman-conf` instead of `pacconf`
1249 * `aur-chroot` *(new)*
1250   + new tool containing the functionality of `aur-build -c`
1251   + support container builds without using a local repository
1252   + support multiple repositories
1253   + preserve `GNUPGHOME` (#427)
1254   + use `pacman-conf` instead of `pacconf`
1255 * `aur-fetch`
1256   + use `HEAD@{upstream}` instead of `HEAD` for `git reset` (#349)
1257   + use `wget` instead of `aria2c` or `curl`
1258   + support diffs for `tar` snapshots (requires: `diffstat`)
1259 * `aur-graph`
1260   + rewrite in awk (#361)
1261   + add support for virtual and versioned dependencies (#10)
1262 * `aur-repo` *(new)*
1263   + manage local repositories
1264 * `aur-rpc` *(new)*
1265   + send `GET` requests to `aurweb`
1266   + use `wget` instead of `aria2c` or `curl`
1267 * `aur-search` 
1268   + add `License`, `Keyword`, `Depends`, `MakeDepends` and `CheckDepends` fields
1269   + add `depends`, `makedepends` search (#432)
1270   + add popularity to `brief` output (#420)
1271   + colorize if `stdout` is a terminal (#473)
1272   + use intersection of results for multiple terms (#328)
1273   + use `aur-rpc` to query `aurweb`
1274 * `aur-sync`
1275   + add `AUR_PAGER` environment variable (file review, #51)
1276   + add `--bind-rw` (#428)
1277   + add `--ignore-arch` (`makepkg -A`, #309)
1278   + add `--nover-shallow` (only check versions for depends, #374)
1279   + add `--provides` (virtual dependencies, #452)
1280   + add `--rebuild`, `--rebuildtree` aliases (#424)
1281   + rename `--repo` to `--database` (#353)
1282   + the `--ignore` option now takes a comma-separated list of packages
1283   + fetch sources in parallel
1284   + set the default value for `AURDEST` to `$XDG_CACHE_HOME/aurutils/sync`
1285 * `aur-srcver` *(new)*
1286   + print latest revision of VCS packages
1287 * `aur-vercmp-devel` *(new)*
1288   + compare latest revision of VCS packages to a local repository
1289 * `officer` *(removed)*
1290   + removed in favor of `pacman --config`
1291 * `completion`
1292   + add `bash` completion (requires: `bash-completion`)
1293   + add `zsh` completion in a later release (#458)
1294 * Fixes for known issues in `1.5.3`.