Changes from 1.17.4 to 1.17.5
- pkg add: only runs triggers at the end of the equivalent of a transaction
- pkg search: fix the combinaison of -q and -o
- pkg fetch: correctly exit with error on fetch failures
- Improve error message when failing to drop privileges

Changes from 1.17.3 to 1.17.4
- ensure pkg waits for the programs executed by the triggers

Changes from 1.17.2 to 1.17.3
- revert 2 regressions,
  * periodic script for audit which reduced verbosity
  * the fallback on version mismatch on pkg add
- prevent an endless recursion on the solver
- make fingerprint signature validation respect rootdir
- pkg dies now if a bad argument is provided

Changes from 1.17.1 to 1.17.2
- make audit.h c++ friendly
- fix build with libressl
- autoremove now respects -q
- version: reports error if INDEX file does not exists but is expected
- periodic audit:
  * Allow user to specify which jail not to audit
  * New option to ignore deprecation and expiration warnings
  * Reduce verbosity of the report
  * Add a script to audit base
- register: implement -N to actually not register in the database
- fetch: do not count cached package in the list to be fetched
- query: -e is not supported as additional condition
- fix pkg not finding its db when run from a directory which does not exists
  anymore
- De-prioritize upgrade-removals in the solver
- triggers:
  * run them for pkg register and pkg add
  * Add pkg.readdir lua function
  * Add documentation for the triggers


Changes from 1.17.0 to 1.17.1
- by default only create .txz symlinks for metadata
- only consider the .pkg when creating a repository
  add an option REPO_ACCEPT_LEGACY_PKG to keep index old pkg
- Reduce usage of memory stack

Changes from 1.16.99.5 to 1.17.0
- Release 1.17
- fix plenty of typos
- add --no-script to autoremove
- deprecated meta file v1

Changes from 1.16.99.4 to 1.16.99.5
- allow to execute programs from lua script and triggers
- fetch vuln.xml.xz by default
- triggers detected by pkg -r are now deferred for firstboot
- pkg triggers command can be executed at first boot to run the
  deferred triggers

Changes from 1.16.99.3 to 1.16.99.4
- expose the name of the packages to its scripts lua and shell
- plist: remove internal support for @*exec
- plist: remove support for @ignore
- plist: remove suppot for @dirrm/@dirrmtry
- plist: remove support for @pkgdep
- plist: remove stub support for @stopdaemon
- plist: remove stub support for @display
- plist: remove stub support for @mtree
- plist: remove stub support for @conflict
- info: fix info processing of mutliple compares
- ci runs again on linux and osx
- portability fixes for linux and osx
- ubsan/asan related fixes

Changes from 1.16.99.2 to 1.16.99.3
- lua update to 5.4.2
- pkg repo accept now all supported formats mixed without config
- pkg now default on creating .bsd files with backward compatible symlinks
- backward compatible symlinks are now an option
- make the default comprpession format a config option
- set the default compression level for zstd to 19
- make the default compression level a config option
- Update libucl to latest version
- change the package extension to .pkg (with symlink on the old format)

Changes from 1.16.99.1 to 1.16.99.2
- libpkg: rsa: stop leaking an RSA object
- libpkg: rsa: start abstracting away rsa bits
- lua: filecmp: Fix for symlink

Changes from 1.16.99.8 to 1.16.99.1
- Avoid making making xstring.h public
- audit: fix quiet
- libpkg: add a snap(shot) version prefix
- libpkg: only upgrade installed packages with pattern matches
- libpkg: accept an "rsa:" prefixed file for pkg_finish_repo()

Changes from 1.15.99.7 to 1.15.99.8
- Update documentation about configuration options
- Fix variable expansion while parsing pkg.conf and repositories
- Fix scripts never ending on MacOS
- Do not execute post-install script if extraction fails
- Fix fetching of meta.conf if it is missing
- Update lua to lua 5.3.6
- Improve solver missing some reverse dependencies
- 'audit' now accept a -R/--raw option for parseable output
- 'audit' can now ignore packages based on use define globs or regexp
- 'set' now reports when a package provided in command line is not installed
- all commands are now consistently using --no-scritps instead of different
  flavor per commands
- when request to install many packages unavailable in the repo, print all the
  missing one instead of stop at the first one only
- 'info' now prints the timestamp and repository in the --raw output
- Improve error messaging when parsing the configuration file
- when upgrading in dry-run mode: stop first checking for pkg, but show all
  the packages to be upgraded, pkg included
- Fix crash when pkg is told to package a directory as a file
- 'create' now accept -e to create package with an expanded version of the
  manifest aka readable
- Relax keywords attributes syntax by allowing spaces

Changes from 1.15.99.6 to 1.15.99.7
- Merge keywords preinstall script into a single "prepackaging script"
- implement triggers (lua and shell)
- fix issues with script leaving process in the background
- fix an issue with metalog duplicated entries
- improve performances of pkg query -F
- get rid of sysexits

Changes from 1.15.99.5 to 1.15.99.6
- lots of keywords improvements:
  * validation: lua script to validate the keyword line
  * deprecated: boolean to mark a keyword as deprecated
  * deprecation_message: message if deprecated
  * actions_script: script version of 'actions' in lua
  * lua scripts: now can have real arguments instead of
  pre-expended ones

Changes from 1.15.99.4 to 1.15.99.5
- Use open_memstream instead of utstring
- add @include support for plist

Changes from 1.15.99.3 to 1.15.99.4
- Fix build with non recent compiler

Changes from 1.15.99.2 to 1.15.99.3
- Fix cases where lua scripts are not properly recognized
- Fix %# in scripts
- Implement @include mechanism for plist
- Fix lua_copy on arm64

Changes from 1.15.99.1 to 1.15.99.2
- Fix '%X' to include the file name and sum

Changes from 1.14.99.7 to 1.15.99.1
- Fix '%X' to not include the version

Changes from 1.14.99.6 to 1.14.99.7
- Default the OSVERSION check to false
- Fix some errors related to getpwname_r/getgrnam_r
- Add RISC-V ABI aliases
- Add '%X' to pkg-query, this print the internal package checksum

Changes from 1.14.99.5 to 1.14.99.6
- Run lua scripts before shell scripts
- unbreak build with -fno-common

Changes from 1.14.99.4 to 1.14.99.5
- Fix lua script during pkg_delete
- Return file type for lua_stat

Changes from 1.14.99.3 to 1.14.99.4
- Add function to lua scripts:
  * Simple stat()
  * filecopy to copy a file preserving its attributes
  * filecmp to compare files
  * update sqlite to latest version
  * Add a new 'hash' mode to pkg repo to make repositories CDN friendly
  * Isolate transport protocol to be able to easily change implementations
    in the futur
  * Fix invalid json in even_pipe
  * lots of portability fixes

Changes from 1.14.99.2 to 1.14.99.3
- Fix linking on FreeBSD

Changes from 1.14.99.1 to 1.14.99.2
- Fix hanging if a script spawn a process and
  it still run after the scripts finish
- Prevent potential hang with lua scripts
- For http mirror first try to get the list from the
  full path and then fallback on the root one if we
  didn't find anything.
- Add a debug message if obtaining the lock fails

Changes from 1.13.99.7 to 1.14.99.1
- parallelize the run of the tests
- Fix VERSION_MINOR expansion
- Fix chflags tests
- Bring back pkg create -n but in a consistent way
- Improve build of sqlite
- Use mmap in sqlite
- Update sqlite to latest version
- Document pkg_create(3)
- Prepare the land for futur proof remote dependency handling
- Update usage of pkg set -A and pkg set -v
- Add pkg create -l (compression level)

Changes from 1.13.99.6 to 1.13.99.7
- Fix a regression with sometimes makes some keywords being ignored
  (aka scripts not appended to the list of scripts)
- Fix ABI on DragonFly
- Fix fd being closed twice
- Improve a bit documentation

Changes from 1.13.99.5 to 1.13.99.6
- When backing up libraries, create a package 'compat-libraries'
  in which the new libraries will be appended to and the version
  bumped each time a new library is backed up.

Changes from 1.13.99.4 to 1.13.99.5
- Fix memory allocation bug during package creation

Changes from 1.13.99.3 to 1.13.99.4
- Fix detection of the zstd compression
- Fix package creation on installed packages
- Update autosetup to the latest version

Changes from 1.13.99.2 to 1.13.99.3
- Fix regression in ABI detection (add regression tests about it)
- Fix regression concerning the timestamp of the packaged/installed file
  (add  regression tests about it)

Changes from 1.13.99.1 to 1.13.99.2
- Fix pkg fetch -o
- Implement a mechanism to autobackup libraries during upgrades
- zsh-completion: disable repo update durign package retrival
- Improve documentation
- More variable are now expanded when reading the confirations files:
  * OSNAME: FreeBSD
  * RELEASE: 12.1
  * ARCH: amd64
  * VERSION_MAJOR (FreeBSD only)
  * VERSION_MINOR (FreeBSD only)
- Remove the unused and inconsistent pkg create -n
- Add -t timestamp to pkg create to be able to specify the expected file timestamp
  via command line.
- Refactor the pkg_create API and mark as deprecated the old functions

Changes from 1.13.99.0 to 1.13.99.1
- Do not create a .pkgnew file in case installing a configure file over
  a non existing file
- Update linenoise to latest version
- Update picosat to latest version
- Implement HTTP keep-alive (imported from xbps)
- fix a regression concerning valid url: ssh://user@host:/ was not valid
  anymore

Changes from 1.12.99.4 to 1.13.99.0
- Fix inverted logic leading to rc scripts always being restarted

Changes from 1.12.99.3 to 1.12.99.4
- Document lua scripts
- Document shell scripts
- Document keywords ucl files
- Add a variable to both lua scripts and shell script to allow
  the scripts to know they are actually being upgrading things

Changes from 1.12.99.2 to 1.12.99.3
- Add more regression test
- Improve consistency of the default ouput
- Give a hint about running pkg update -f in case of "size mismatch"
- Fix pkg backup since the sqlite syscall are overridden

Changes from 1.12.99.1 to 1.12.99.2
- lua script io.open function now always open relatively to the rootdir
- lua script: all lua script are now run in a sandbox
- expat has been replaced by yxml to parse vuxml
- fix documentation of -y in pkg-set
- update libucl to latest version
- improve error reporting when parsing vuxml files
- shell script can now print messages along with pkg-messages
  by writing to ${PKG_MSGFD} file descriptor

Changes from 1.12.99.0 to 1.12.99.1
- When installing a file over a file that is not tracked by any
  package, save the previous one as .pkgsave
- Fix a chicken/egg problem with the meta being compressed and defining
  the compression format. Now pkg repo will create a meta.conf file
  uncompressed (it is small enough) and fallback on the old meta.txz.
  Note that meta.txz is still created for backward compatibility
- pkg repo now creates meta files in version 2 by default meaning the digests.txz
  is not created anymore, it was only used up to pkg 1.2. anyone upgrading
  from pkg 1.2 should first run pkg bootstrap -f to be on a recent version.
- pkg -r now first lookup under the rootdir for its ABI_FILE.
- suppress version checking when -j is specified
- Alphabetically sort packages printed in the output of pkg commands to ease readability
- pkg lock/unlock now allows multiple packages in arguments

Changes from pkg 1.11.99.3 to 1.12.99.0
- Fix a crash when specifying an unsupported ABI

Changes from pkg 1.11.99.2 to 1.11.99.3
- Warn about the fact @unexec is deprecated in pkg-plist
- Fix build with gmake
- Bundle lua functions into a proper package
- Fix build on osx
- Fix libelf detection on debian
- Fix pkg_shutdown unproperly reinitializing closed fds

Changes from pkg 1.11.99.1 to 1.11.99.2
- Fix cross installation with new build system
- Add a function to lua_script allowing to send a message which will be
  printed along with the other messages at the end of the message process.
- Fix detection of libarchive with zstd support

Changes from pkg 1.11.99.0 to 1.11.99.1
- Import lua 5.3.5
- Recommand using pkg boostrap -f in case we do need to reinstall pkg
- Scripts can now be written in lua
- Keywords scripting part can now be written in lua

Changes from pkg 1.10.99.13 to 1.10.99.14
- fix libpkg.so when linked with binutils
- instead of closing stdin for script just use /dev/null
- force installation of symlinks to avoid make install to fail is some
  symlinks are already there

Changes from pkg 1.10.99.12 to 1.10.99.13
- fix segfault when running pkg version <an_invalid_index_file>
- fix segfault that can occurs sometime when forcing the installation of a
  localpackage: pkg install -f ./mypkg-X.txz
- fix abi detection when multiple elf notes are used in the binary like on
  fedora

Changes from pkg 1.10.99.11 to 1.10.99.12
- use /usr/bin/uname to determine of the ABI
- Add 3 new aliases:
  * rall-depends: showing depenencies of a non installed package
  * rcomment: showing only the comment of a non installed package
  * rdesc: showing only the description of a non installed package
- switch to cirrus-ci
- improve portability on linux
- simplify code to create the repository
- close stdin when running scripts
- update bundled libucl to latest version
- remove backward compat (pkg_*) in periodic scripts
- always use anticongersion on periodic scripts
- Prevent SIGSEGV with 'pkg version' with packaged base
- Fix issue with recent lld

Changes from pkg 1.10.99.10 to 1.10.99.11
- Fix typos in man pages
- Attempt to fix build in head where libarchive now uses blake2b

Changes from pkg 1.10.99.9 to 1.10.99.10
- Fix incremental build
- Fix loading plugins in the flat binary
- Stop issueing wrong error message before creating the local repository for
  the first time

Changes from pkg 1.10.99.8 to 1.10.99.9
- Remove a check for config files that have hardlinks
- Add .gitlab-ci.yml to support the Gitlab CI service
- Add a few more tests with hardlinks

Changes from pkg 1.10.99.7 to 1.10.99.8
- Add options to ignore OSVERSION check and document it
- Complain about RO filesystem for pkgdb access if needed
- Fix privileges drop done too early
- Improve OSVERSION check
- Fix some resource leaks
- Lots of documentation improvements
- Improve conflicts handling
- Do not check remote packages when doing `pkg upgrade -v`
- Convert from autotools to autosetup
- Fix warnings spotted by gcc 7+
- Fix pkg info -R to match the documented behaviour
- Update zsh completion
- Fix crash with config file handling
- pkg is now a semi static binary

Changes from pkg 1.10.99.6 to 1.10.99.7
- Sort fts traversal in repo creation
- Fix floating pint exception when packaging packages with weird elf files
- More test cases for config merge
- Fix running the testsuite on linux and osx
- Fix pkg version regarding flavors
- Add support for creating packages with a hash in their names
- Accept DT_SONAME anywhere in .dynamic
- make pkg version -r imply -R
- Some fixes for the progression display
- Rename some variables in security periodic scripts.
- Parse FreeBSD OS version and forbid to install too new packages

Changes from pkg 1.10.99.5 to 1.10.99.6
- Lots of fixes/improvements on periodic scripts
- Fix typo in the .pc file
- Only check for origin if the strings contains / in pkg version
- Support flags when exporting the metalog
- Ignore flags when installing as a user
- fix again using pattern as package arch
- recognize armv7
- add %q to pkg_printf(3) and pkg-query(8) to print altabi
- add an extra line when printing pkg-messages to improve readability
- stop considering nfs as dangerous and if a corruption happens on nfs drive
  by a message the user to the highly possible reason of the corruption so
  he can fix
- zsh completion imrpovements

Changes from pkg 1.10.99.4 to 1.10.99.5
- pkg clean is now happy if the cache dir non existing
- 410.pkg-audit now uses anticongestion on freebsd 12
- fix pkg install -r foo if foo is a disabled repository
- fix elf handling on non FreeBSD
- fix support for platforms without AT_SYMLINK_NOFOLLOW
- fix dropping privileges on Linux
- fix build with recent libbsd
- fix duplicate pkg registration overwriting the existing pkg
- better ABI name on linux
- lots of changes in internal API to use fd when possible
- removed option: pkg repo -L

Changes from pkg 1.10
- Use dep_formula in the solver
- Cache pw result to avoid over reloading nssswitch.conf
- Remove pkg2ng and support for pkg_ databases

Changes from pkg 1.9
- fix pkg which -g
- Do not use openssl for sha256
- Improve the default output when fetching data
- Update libfetch to the version of FreeBSD 11
- Update libsbuf to the version of FreeBSD 11
- Fix NetBSD ABI
- Add a fallback for utimensat when reporting EOPNOTSUPP
- replace libsbuf with utstring for portability
- Overwrite some sqlite vfs functions to allow more capsicumisation of pkg
- move more pkg audit details into the library
- allow to run pkg query without any privileges
- extend the audit periodic script to report deprecated packages
- Fix fd leak to rcscripts
- stop dropping privieges during fetching it causes more issues than it solves
- speed walking though [reverse]dependencies
- Update blake2b to latest version
- Add blake2s to the list of supported checksums
- Internal digest now default on blake2b on 64 bits and blake2s on 32 bits.
- Fix segfault when ABI is defined but empty
- Do not use the shared library provides/requires on non FreeBSD/Linux
- Define _NETBSD_SOURCES on NetBSD to allow libfetch to use funopen
- Document vital flags
- Fix potential double free when dealing with @config keyword
- Add progress when fetching (number of files to fetch)
- Improved messages about locked packages
- Return 1 when a user rejects the proposed plan
- When dealing with configuration files '@config' never overwrites non tracked
  files
- Warn everyone about deprecation of @dirrm and @exec
- Deduplicate metadata loading code
- pkg register now understands context aware messages
- Fix pkg register issues with some version of libarchive:
  * hardlinks not being made hardlinks sometime
  * issues when PREFIX is a symlink to another directory
- Use portable mechanism to find the number of CPUs which allows pkg repo to be
  faster on linux
- New pkg upgrade --vulnerable

Changes from pkg 1.8

- Drop privileges in many commands
- Drop privileges when fetching a file
- Add resource limitation to sandboxes
- Add support for metalog
- pkg-delete now print a warning if no packages were matched
