/ NEWS
NEWS
   1  Changes from 2.6.99.5 to 2.6.99.6
   2  - query: fix empty line output for purely multiline formats breaking poudriere
   3  - pkg-backup: make the compression configurable
   4  - sign_pkg.sh: use the .pkg extension
   5  
   6  Changes from 2.6.99.4 to 2.6.99.5
   7  - libpkg: fix --register-only with empty packages
   8  - query: fix crash on multiline
   9  
  10  Changes from 2.6.99.3 to 2.6.99.4
  11  - info: fix version comparison with multi-character operators (>=, <=)
  12  - fix --register-only to populate config file contents
  13  - attempt config file merge for force install
  14  - query: add %y and %Y for provides/requires
  15  
  16  Changes from 2.6.99.2 to 2.6.99.3
  17  - libfetch: fix segfault at exit when using SRV mirror type
  18  - solver: avoid spurious reinstall from wrong repo with multi-repo setups
  19  
  20  Changes from 2.6.99.1 to 2.6.99.2
  21  - fetch: switch back to libfetch, completely remove curl
  22  - add: resolve shlibs and provides via symlink directory layout
  23  - add: ignore dead symlinks for provides/requires
  24  - add: skip osversion check when force is set
  25  - install -A: do not mark upgraded/reinstalled packages as automatic
  26  - DB: fix a race condition in db initialization
  27  - 400.status-pkg: provide an option to select the source to check
  28  - docs: all manpages now mention -r can be called multiple times
  29  - docs: update usage for create, install and set commands
  30  
  31  Changes from 2.6.99.0 to 2.6.99.1
  32  - greatly improve the test coverage
  33  - add support for trigger per package (pre installation, post installation)
  34  - fix info export wrong json for multiple packages
  35  - solver: many fixes preventing useless extra reinstallation
  36  - jobs: prevent install -f from deleting packages
  37  - upgrade: prevent rdeps discovery explosion
  38  - fix crash when using external merge tool
  39  - fix ctrl-c during download not really killing pkg
  40  - lots of code cleanup
  41  - prevent running in jail if fflages are involved and the jail does not allow them
  42  - prevent running if secure_level will block them
  43  - improve performance by adding new indexes
  44  - don't try anymore to upgrade the DB if it is readonly
  45  - only open the db RW if needed
  46  - fix pkg -N with WAL
  47  - repositories: add per repo ssh_args
  48  - delete,install,upgrade: add --autoremove
  49  - pkg install foo if foo is installed will now mark it as non automatic
  50  - pkg install -A foo if foo is installed will now mark it as automatic
  51  - query: print an empty line instead of nothing if querying a multiline with no value
  52  - install: accept https:// as an argument
  53  - plenty of small fixes
  54  - updating support globs
  55  - delete: fix -fR
  56  - search: add -Scomment-description
  57  - lots of documentation updates
  58  
  59  Changes from 2.5.99.3 to 2.6.99.0
  60  - triggers: fix typo regex -> regexp
  61  - remove FreeBSD 9 compat code
  62  - lots of documentation behaviour
  63  - fix ordering of pkg autoremove
  64  
  65  Changes from 2.5.99.2 to 2.5.99.3
  66  - extract: revert the extact optimization:
  67    - on low ended hardware it may be actually worst
  68    - it has too many side effects
  69  
  70  Changes from 2.5.99.1 to 2.5.99.2
  71  - pkgdb: skip WAL journal mode on read-only databases
  72  - pkgdb: open read-only databases in immutable mode
  73  
  74  Changes from 2.5.99.0 to 2.5.99.1
  75  - Improve debug messages
  76  - create: use -t to specify the MANIFEST file timestamps
  77  - @dir: fix permission set via @mode
  78  - manpages: fix some spelling
  79  - progress:
  80    * pad the counters to improve the output,
  81    * remove the hash from the package names
  82  - update mumhash to latest version
  83  - fetch: add -s/--sumlnk option for mirror mode.
  84  - fetch: honor PKG_REPO_SYMLINK env var
  85  - triggers: only defer triggers which will fork/exec something
  86  - db: enable WAL for databases on local file systems
  87  - query: add support for evaluation of complex attributes
  88  - store ignored shlibs in manifest and db
  89  - Allow to define shlibs_{proviced,required}_ignore in the manifest directly
  90  - configure: use some C23 features to reduce the number of checks in the configure
  91    script.
  92  - drastically reduce memory usage
  93  - fix an infinite loop on pkg autoremove
  94  - optimization: do not extract files if the installed oone is identical
  95  - if an extractions fails "file null mounted" complain and leave a file named
  96    .pkgnew aside
  97  - upgrade multiple fixes on decision making which might have result in usesless
  98    request to reinstall
  99  - pkg add ./file now check the version of the installed package if any and proposes
 100    to upgrade if necessary
 101  - fix a regression in url_decode
 102  - fix reproducibility issue with the packages
 103  - fix a crash in pkg upgrade
 104  - fix a crash when ftruncate() fails
 105  
 106  Changes from 2.4.99.2 to 2.5.99.0
 107  - fix regression while fetching
 108  
 109  Changes from 2.4.99.1 to 2.4.99.2
 110  - update curl to 8.17.0
 111  - update sqlite to 3.51.1
 112  - plug a memory leak while fetching
 113  - improve the message when not deleting a package due to lock or vital
 114  - set a default mode for empty directories
 115  
 116  Changes from 2.4.99.0 to 2.4.99.1
 117  - fetch: improve error reporting
 118  - fetch: properly integrate the curl debug informations in the pkg debug output
 119  - fetch: display curl IP address we are fetching from in debug mode
 120  - unregister(8): new command to remove the records from an installed package,
 121    keeping the files around
 122  - install --register-only: records the packages as installed without touching
 123    any installed files on the filesystem. Note in case on config files it also
 124    the vanilla version of the file in the db so 3way merge is functional for later
 125    upgrades
 126  - case sensitivity: lots of bug fixes, the behaviour is now consistent accross all
 127    commands and respect the default setting in pkg.conf.
 128  
 129  Changes from 2.3.99.1 to 2.4.99.0
 130  - Use line buffering for the metalog file handle
 131  - Fix bug making pkg delete too many directories in case of split upgrades
 132  - BACKUP_LIBRARIES now create one backup package per source package
 133  - new metalog_copy lua function to create entries in the metalog cloning metadata
 134    from another file
 135  
 136  Changes form 2.3.0 to 2.3.99.1
 137  - New OSVF Parser
 138  - New CPE Parser/Emitter
 139  - Lots of code cleanup and simplification
 140  - Add support for system triggers (triggers in /usr/share/pkg/triggers)
 141  - pkg check now respects -r (rootdir)
 142  - relax ABI checking
 143  - Lots of improvements and bugs fixes regaring BACKUP_LIBRARIES features
 144  - Integrate BACKUP_LIBRARIES in the solver
 145  - Add vital flag to the list of flag which we need to consider for package reinstallation
 146  - track uname, gname, mtime, permissions and fflags in the db and in the manifest
 147    instead of relying on the tar informations. which gives us pkg check -m to check for
 148    for metadata changes.
 149  - METALOG: add entries for intermediate directories
 150  - better 404 reporting
 151  - fix return code for pkg upgrade -n
 152  - new pkg sets alias example in default pkg.conf
 153  - new DEBUG_SCHEDULER_DOT_FILE option to generate a graphviz DOT format for the job graph
 154  - loosen ordering for upgrade jobs (reduces a lot the number of split upgrades and speed up
 155    the scheduler on setup with large number of packages.)
 156  
 157  Changes from 2.2.99.2 to 2.3.0
 158  - internal code cleanup
 159  - micro optimize upgrade candidate checking
 160  
 161  Changes from 2.2.99.1 to 2.2.99.2
 162  - archive improve reproducible build support
 163  - many improvements in manpages
 164  - scripts now support a new METALOG variable
 165  - run pkg delete script even during split upgrades
 166  - fetch: fix resuming
 167  - shlib: accept full path as a valid input
 168  - stats: only show local db, if no repo are active
 169  - backup libraries during split upgrades if needed
 170  - fetch: fix crash on invalid url
 171  - upgrade: only upgrade installed things on partial upgrades
 172  - repositories: allow negative priorities
 173  - upgrade: when pkg self restart do not warn about the env vars.
 174  - set: allow to bulk "partial replacement"
 175  - add: backout support for provides/requires
 176  
 177  Changes from 2.2.99.0 to 2.2.99.1
 178  - fix some sqlite iterator leakage
 179  - rework the scheduler to minimze the number of split upgrade
 180  
 181  Changes from 2.1.99.5 to 2.2.99.0
 182  - fix some sqlite statement leak
 183  - improve wording in manpages
 184  - update libcurl to 3.14.1
 185  - update sqlite to 3.50.1
 186  - update mum_hash to latest version
 187  
 188  Changes from 2.1.99.4 to 2.1.99.5
 189  - really use the cache file
 190  - improve error message when failing at parsing manifest printing the path of
 191    the manifest.
 192  - improve multi repo priosation handling
 193  - fix selection of the most recent package in multirepo mode
 194  - fix the scheduler over splitting the upgrades
 195  
 196  Changes from 2.1.99.3 to 2.1.99.4
 197  - add a cache file for pkg_add()
 198  - fix 32bits issues
 199  
 200  Changes from 2.1.99.2 to 2.1.99.3
 201  - more work on pkg add performances
 202  - pkg(8): document -o options
 203  - fix pkg-static issue due to symbols collisions between libmd and libcrypto
 204  
 205  Changes from 2.1.99.1 to 2.1.99.2
 206  - fix regression regarding shlibs_required
 207  
 208  Changes from 2.1.99.0 to 2.1.99.1
 209  - strong refactoring in internal containers code.
 210  - performances improvements in pkg_add
 211  
 212  Changes from 2.0.99.10 to 2.1.99.0
 213  - pkg.conf(5): mention kmods repo
 214  - validate SHLIB_PROVIDE_PATHS_* options
 215  - pkg(8): mention -vv
 216  - new the FORCE_CAN_REMOVE_VITAL boolean config option
 217  - micro optimise pkg add
 218  
 219  Changes from 2.0.99.9 to 2.0.99.10
 220  - fix providing library via symlinks
 221  
 222  Changes from 2.0.99.8 to 2.0.99.9
 223  - pkg delete considers base libraries when not running on pkgbase system
 224  - install: allow overwrite installation timestamp with PKG_INSTALL_EPOCH
 225  - new --script-no-exec: which makes pkg dies if a script attempt to exec an
 226    external binary
 227  
 228  Changes from 2.0.99.7 to 2.0.99.8
 229  - make info -d and -r show provides/requires
 230  
 231  Changes from 2.0.99.6 to 2.0.99.7
 232  - fix in non pkgbase context
 233  
 234  Changes from 2.0.99.5 to 2.0.99.6
 235  - add: readd support for provides/requires
 236  - fix pkg bootstrap -y
 237  - fix memory leaks
 238  - libpkg: allow non interactive way to set IGNORE OSVERSION
 239  - update libcurl to 8.12.1
 240  - fix progression counters
 241  - improve VITAL flag handling
 242  
 243  Changes from 2.0.99.4 to 2.0.99.5
 244  - allow to filter out and fine control which libs are provided
 245  
 246  Changes from 2.0.99.3 to 2.0.99.4
 247  - sort list in manifest for reproducibility
 248  - limite shlibs_requires to file starting with "lib"
 249  - on !pkgbase ignore lib32 compat if the lib32 set is not installed
 250  - update: be functionnal again with less than 300MB of memory available
 251  - small performances improvements in package loading and checksum validation
 252  - sqlite: update to 3.49.0
 253  
 254  Changes from 2.0.99.2 to 2.0.99.3
 255  - elf: prevent absolute path for DT_NEEDED libs
 256  - curl: be verbose about the fetch error
 257  - fix crash in case of conflicts
 258  - allow to define ABI_FILE in pkg.conf(5)
 259  - rework directories vs symlinks handling (give back flexibility to end users)
 260  
 261  Changes from 2.0.99.1 to 2.0.99.2
 262  - Relax OSVERSION requirement
 263  - Improve elf format detection
 264  - Remove debugging printf
 265  - Fix regression in the solver
 266  
 267  Changes from 2.0.99 to 2.0.99.1
 268  - pkg.conf.sample: use consistent UCL syntax
 269  - version: fix bad usage of pkg_printf
 270  - ABI: replace notice with warning message
 271  - fix pkg check -d on systems without pkgbase
 272  - improve the solver on system without pkgbase
 273  
 274  Changes from 1.21.99.6 to 2.0.99
 275  - allow IGNORE_OSVERSION on all oses
 276  - improve dealing with symlinks to directories and upgrades
 277  
 278  Changes from 1.21.99.5 to 1.21.99.6
 279  - allow IGNORE_OSVERSION on all oses
 280  
 281  - improve dealing with symlinks to directories and upgrades
 282  Changes from 1.21.99.6 to 1.21.99.6
 283  - ignore OSVERSION if set but ABI is not set
 284  
 285  Changes from 1.21.99.4 to 1.21.99.5
 286  - the pkg target ABI is now dynamically detected, pkg can be used to cross
 287    install packages among OS.
 288  - macho ABI handling completly rewritten
 289  - ALTABI is not used anywhere anymore, we are now only working with ABI
 290  - Lots of cleanups thanks for compiler sanitizers
 291  - shlibs handling is now portable (and do not depend on elfhints anymore)
 292  - deprecate ALLOW_BASE_SHLIBS, now pkg scans for /lib and /usr/lib (respecting
 293    rootdir) to find the list of shlibs provided by base. This scan is skipped
 294    when using pkgbase.
 295  - new SHLIB_REQUIRE_IGNORE_GLOB and SHLIB_REQUIRE_IGNORE_REGEX to filter out
 296    some librariries to be added to shlibs_required list
 297  - speed up pkg repo by using buffered stdio
 298  - pkg now tracks shlibs with tagging:
 299     libfoo.so.1.0.0          - native (no change to status quo)
 300     libfoo.so.1.0.0:32       - compat 32
 301     libfoo.so.1.0.0:Linux    - compat Linux
 302     libfoo.so.1.0.0:Linux:32 - compat Linux 32
 303  - pkg tracks 32bit compat shlibs
 304  - pkg can track linux shlibs for linux compatibility (disabled by default) via
 305    TRACK_LINUX_COMPAT_SHLIBS
 306  
 307  Changes from 1.21.99.3 to 1.21.99.4
 308  - ABI detection related fixes
 309  - Lots of fixes for MacOS
 310  - Fix host component handling in file:// URLs
 311  - build system: add --with-tsan support
 312  - fix threads on MacOS
 313  - pkg -vv now shows bundled/external libraries version
 314  - pkg: -r command can be used multiple times to only enable
 315    the specified repositories.
 316  - UI: small improvements in error messages
 317  - repositories: new pkg repositories command to list configured
 318    repositories
 319  - vuxml: now fetched over https
 320  - check: now default on the -s option when no options is passed.
 321  
 322  Changes from 1.21.99.2 to 1.21.99.3
 323  - alias: prime-origins is now uniq
 324  - curl: improve debug output
 325  - file protocol now respects rfc8089 definition
 326  - fix glob search case sensitive support
 327  - update curl to latest version
 328  - update sqlite to latest version
 329  - update lua to latest version
 330  - time: remove usage of deprecated functions
 331  - allow to build against an external libcurl
 332  - fix build with external libarchive
 333  - improve portability
 334  - add support to use an external 3-way merge tool for @config files
 335  - rework the job scheduler, the new jobs scheduler:
 336    all known to date scheduler issues are fixed with this new scheduler
 337  
 338  Changes from 1.21.99.1 to 1.21.99.2
 339  - audit: add -d to audit packages in a specified directory
 340  - bug fix: fix upgrade with symlinks becoming directories
 341  - debug: implement debug flags to allow to cherrypick the debug flags to print
 342  - check: remove -B and -r options
 343  - compression: allow to defined the number of threads to use with zstd and xz
 344  - curl: update to 8.9.0
 345  - http: add support for HTTP_PROXY_AUTH
 346  - periodic: remove compat_vars
 347  - info: fix json formatted output
 348  - manpages: lots of fixes and improvements
 349  - install/upgrade: now removed packaages are printed at the bottom of the list of changes
 350  - using -r <repo> now always enable the repository specified
 351  - periodic: provide a mechanism to ignore jails via prefix matching
 352  - upgrade: allow the used to ignore options changes in the triggers to reinstall a package
 353  - lock/unlock: fix batch operations
 354  - osversion: fix confusing message
 355  - new attempt at better handling vital during upgrades
 356  - sqlite: update to 3.46.0
 357  
 358  Changes from 1.21.99.0 to 1.21.99.1
 359  - fix regression in HANDLE_RC_SCRIPTS option (off by default)
 360  - fix processing entries spiner
 361  - fix database path handling for rootdir
 362  - revert a change in vital/lock handling in the solver cause
 363    some vital packages to never be upgraded.
 364  
 365  Changes from 1.20.99.12 to 1.21.99.0
 366  - fix regressions in plist parsing
 367  
 368  Changes from 1.20.99.11 to 1.20.99.12
 369  - ECC signature: plenty of fixes
 370  - plist now have a "@var key value" to deal with %%KEY%% variables
 371  - upgrade sqlite to latest version
 372  
 373  Changes from 1.20.99.10 to 1.20.99.11
 374  - solver now excludes removal of packages flagged as vital or locked from
 375    removal
 376  
 377  Changes from 1.20.99.9 to 1.20.99.10
 378  - fix trigger validation schema
 379  - use data.pkg instead of packagesite.pkg if available
 380  - update bundled curl to 8.6.0
 381  - update bundled libucl to latest version
 382  - data.pkg now receives the groups
 383  - lock and meta files are now saved under /var/db/repos/<reponame>/<file>
 384  - remote databases are now stored under /var/db/repos/<reponame>/db
 385  - pkg search now supports groups
 386  - pkg rquery now supports groups
 387  - pkg now support elfhints on any byte-order on FreeBSD
 388  - behaviour change: pkg lock/unlock errors if the package stated is unavailable
 389  - pkg now supports ECDSA and EdDSA for all its signature mechanism
 390  - new pkg key command which allows to generate keys.
 391  - plenty of minor code cleanup and bug fixes.
 392  
 393  Changes from 1.20.99.8 to 1.20.99.9
 394  - pkgbase: .snap now comes after .alpha in versionning
 395  - update: lock pkg update to avoid concurrent instance of pkg update to compete
 396  - bundled sqlite: update to 3.45.0
 397  - bootstrap now accepts -y
 398  - update bundled curl to 8.5.0
 399  - New PKG_ISCHROOTED env var for scripts so they can grow the knowledge they
 400    are being run in a pkg -c chroot environement
 401  - update autosetup to 7.1
 402  - lots of small code optimizations
 403  - remove now unsupported arm architectures
 404  - refactor pkg_repo_create API to make it more flexible, while here document it
 405  - repo: to not generate anymore the meta.{pkg,txz} which is unused since pkg 1.13
 406  
 407  Changes from 1.20.99.7 to 1.20.99.8
 408  - fix a race in vulnxml fetch trigger
 409  - add a new data.pkg which contains a fully valid json and aim at replacing
 410    packagesite.pkg because extensible, continue to produce packagesite.pkg
 411  - repo: remove ability to provide v1 repository format
 412  - deduplicate code directly using libucl exporters instead of home backed ones
 413  - undocument ftp support
 414  - provide FreeBSD native sandboxing function in the library directly (packagekit)
 415  - curl: provide libfetch compatiblity about HTTP_USER_AGENT
 416  - New keywork: @override_prefix (pkgbase)
 417  - repo: using threads instead of forks
 418  - add: only generates .pkgsave when really needed
 419  
 420  Changes from 1.20.99.6 to 1.20.99.7
 421  - update curl to 8.4.0
 422  - plug some memory leak
 423  - plug a db transaction leak
 424  - refactoring of the repository generation code
 425  
 426  Changes from 1.20.99.5 to 1.20.99.6
 427  - enable netrc support to be compatible with libfetch variable
 428  - enable by default all supported kind of authentication for curl
 429  - Fix duplicated rquery
 430  - Make missing plugins non fatal (needed for smooth packagekit support)
 431  - Do not complain about Last-Modified head if the fetch was a failure
 432  - Support for jobs cancellation (needed for packagekit support)
 433  - update sqlite3 to 3.43.0
 434  - update lua to 5.4.6
 435  - plug plenty of memory leaks
 436  - improve debug output in particular for sql statements
 437  - exclude locked package early from autoremove candidates
 438  - fix very slow orphan test computation consuming 100% of CPU in autoremove
 439  
 440  Changes from 1.20.99.4 to 1.20.99.5
 441  - fix a regression introduce with switch to libcurl which results in
 442    the remote db mtime being badly set
 443  - fix a regression which makes pkg query report twice some packages
 444    when configured in multirepository mode.
 445  - fix a compatibility issue with http_proxy env var (lowercase)
 446  - update libcurl to latest version
 447  - introduce PKG_EVENT_PKG_ERRNO new event type
 448  
 449  Changes from 1.20.99.3 to 1.20.99.4
 450  - backout pkg add support for provides/requires (performance issue)
 451  
 452  Changes from 1.20.99.2 to 1.20.99.3
 453  - curl add compatiblity for SSL_CLIENT_KEY_FILE, SSL_CLIENT_CERT_FILE,
 454    SSL_CA_CERT_FILE
 455  - fixed FETCH_TIMEOUT adaptation to libcurl
 456  - speed up again pkg add and reduced its memory footprint
 457  
 458  Changes from 1.20.99.1 to 1.20.99.2
 459  - Fix regression regarding url parsing for ssh://
 460  - Reduce memory usage for pkg add
 461  - Fix a libfetch compatibility issue (typo in SSL_VERIFY_HOST)
 462  - Fix issue with version generation in configure script
 463  - Update pkg-triggers.5 manpage
 464  
 465  Changes from 1.20.99.0 to 1.20.99.1
 466  - Add compatibility with libfetch HTTP_AUTH
 467  
 468  Changes from 1.19.99.3 to 1.20.99.0
 469  - cleanup functions
 470  
 471  Changes from 1.19.99.2 to 1.19.99.3
 472  - fix memory leaks
 473  - fix regression: implement cancelling with libcurl
 474  - new event PKG_EVENT_INCREMENTAL_UPDATE_BEGIN
 475  - fix signature generation with openssl3
 476  - allow reading pre and post openssl3 signatures
 477  
 478  Changes from 1.19.99.1 to 1.19.99.2
 479  - Update libucl to latest version
 480  - Allow to configure COMPRESSION_FORMAT in pkg.conf
 481  - Remove support for legacy (pkg_* tools)
 482  - kill useless pkg_manifest_key API
 483  - pkg add (respect provide/require)
 484  - pkg autoremove: properly process provides/requires
 485  - pkg now requires C11
 486  - remplace pkg_set(3) API with a _Generic based API
 487  - periodic script: Use locale-agnostic (ISO 8601)
 488  - complete refactoring of the fetch code
 489  - new pkgdb_all_search to search local and remote DBs at the same time
 490  - fix plenty of memory leaks
 491  - fix a regression in -e
 492  - improve the plugin API
 493  - replace libfetch with libcurl
 494  - add support for http pipelining
 495  - improve SRV and HTTP mirroring, reducing the number of round trips
 496  - only keep one version of HTTP mirroring the one that respects the repo url
 497  
 498  Changes from 1.18.99.7 to 1.19.99.1
 499  - fix regression in pkg autoremove
 500  - fix regression preventing tracking files with path longer than 64 chars
 501  - fix build out of tree
 502  - fix spelling issues in pkg-trigger(8)
 503  
 504  Changes from 1.18.99.6 to 1.18.99.7
 505  - reduce the number of filedescriptors opened at the same time
 506  - update sqlite to 3.40.0
 507  - fix regression in pkg lock
 508  - fix annotate --modify
 509  
 510  Changes from 1.18.99.5 to1.18.99.6
 511  - remove backup command, do backup pkg shell .dump should be preferred
 512    as already done via periodic script
 513  - (r)query: stricter command line validation
 514  - (r)query: new operators: =~ ==~ and !=~
 515  - fix merging of config files accross split upgrades
 516  - fix a regression when executing a shell script
 517  
 518  Changes from 1.18.99.4 to 1.18.99.5
 519  - delete: now handles properly provides/requipres
 520  
 521  Changes from 1.18.99.3 to 1.18.99.4
 522  - Accept '~' in the version or name of a package
 523  - Autoremove will not remove anything which is required
 524    by another installed package (via provides or via shlibs_provides)
 525  - Update linenoise to latest version
 526  - Update sqlite to 3.39.3
 527  - Update lua to 5.4.4
 528  - doc: add example on how to restore a package
 529  - query: fix unicity issue
 530  
 531  Changes from 1.18.99.2 to 1.18.99.3
 532  - fix regression creating hardlinks
 533  
 534  Changes from 1.18.99.1 to 1.18.99.2
 535  - fix directory path matching in the new extraction code
 536  
 537  Changes from 1.17.99.11 to 1.18.99.1
 538  - rework the extraction process to fix the case when a file becomes a directory
 539    during an upgrade
 540  - fix a crash in pkg create
 541  - fix a crash in pkg version -PvL=
 542  - allow to deal with 240 character long filenames
 543  - fix an issue when disabling a repository resulting in breakage of the
 544    repository list
 545  - fix querying licenses
 546  - fix packaging the lua deinstall scripts
 547  - add pkg.symlink to allow creating symlinks from lua scripts
 548  - performance improvements
 549  - sync libfetch with base bringing in socks proxy support
 550  
 551  Changes from 1.17.99.10 to 1.17.99.11
 552  - Fix performance issue while computing upgrades
 553  - Fix shlibs always considered as changed
 554  
 555  Changes from 1.17.99.9 to 1.17.99.10
 556  - greatly improve test coverage
 557  - many improvements in error handling for pkg fetch
 558  - Remove the deprecated pkg_get() function from the API
 559  - prevent @config files to be verified from pkg checksums checking
 560  - Remove ftp(s):// support
 561  - add tcp:// protocol support which allows to server packages form inetd
 562    and secure it via spiped for example
 563  - triggers can now be trigger when empty directories are added/removed
 564  - Add "orphans" aliases
 565  - speed up pkg which
 566  - Reduce the possibility to have a temporary file during package extraction
 567    which exceed NAME_MAX (maxium file name length)
 568  - If the pattern has a '/' in it, it now search origin and all other categories
 569    as well
 570    for example graphics/zathura and print/zathura will both match the zathura
 571    package
 572  - If the pattern has a '/' in it and a @ it will also search for the flavor
 573    <category>/<portname>@<flavor>
 574    # pkg install "editors/vim@tiny" # will install the vim-tiny package
 575    $ pkg search -g "editors/vim@*"
 576    vim                            Improved version of the vi editor (console flavor)
 577    vim-gtk2                       Improved version of the vi editor (gtk2 flavor)
 578    vim-gtk3                       Improved version of the vi editor (gtk3 flavor)
 579    vim-motif                      Improved version of the vi editor (motif flavor)
 580    vim-tiny                       Improved version of the vi editor (tiny flavor)
 581    vim-x11                        Improved version of the vi editor (x11 flavor)
 582  - portability: build and run on alpine (musl)
 583  
 584  Changes from 1.17.99.8 to 1.17.99.9
 585  - pkg add: only runs triggers at the end of the equivalent of a transaction
 586  - pkg search: fix the combinaison of -q and -o
 587  - pkg fetch: correctly exit with error on fetch failures
 588  - Improve error message when failing to drop privileges
 589  - Ensure no temporary files are left overs when ignoring some files in package
 590  
 591  Changes from 1.17.99.7 to 1.17.99.8
 592  - ensure pkg waits for the programs executed by the triggers
 593  - bring back the fallback on the pkg add with mismatched version (with regression fixed)
 594  
 595  Changes from 1.17.99.6 to 1.17.99.7
 596  - speed up pkg repo on SMP machines
 597  - error on duplicated @config entry
 598  - revert the fallback on pkg add with mismatched version
 599  - document pkg upgrade --vulnerable
 600  - revert jail audit perdiodic script verbosity reduction
 601  
 602  Changes from 1.17.99.5 to 1.17.99.6
 603  - fix segfault when packaging packages providing shared libraries
 604  - fix fingerprint signature handling with rootdir
 605  
 606  Changes from 1.17.99.4 to 1.17.99.5
 607  - document triggers
 608  - add pkg.readdir to lua scripts
 609  - reduce memory usage for hashes
 610  - fix memory corruption which can happen in some corner cases
 611  - run triggers for pkg add and pkg register
 612  
 613  Changes from 1.17.99.3 to 1.17.99.4
 614  - pkg version: fix regression from conversion to pkghash
 615  - allow filtering files at install time
 616  - add periodic script to check vulnerabilities in base
 617  - fix pkg failing to find its db if run from a directory which does not exists
 618    anymore
 619  - fix ubsan reported issues
 620  - fix priorization upgrade-removal along with other deletion
 621  - fix plenty of memory leaks
 622  
 623  Changes from 1.17.99.2 to 1.17.99.3
 624  - make pkg/audit.h C++ friendly
 625  - fix build with libressl
 626  - Enable aarch64 support for linux
 627  - plenty of portability fixes for linux with musl libc
 628  - autoremove: respect -q
 629  - version: report an error if the provided INDEX file does not exist
 630  - periodic: allow users so provide an ignore list of jails
 631  - periodic: reduce audit script verbosity
 632  - arch: to not consider .h as potentially arch specific
 633  - query: allow -e to be used with other filter options
 634  - register: implement a -N to disable registration in the database
 635  - rework internal hash tables
 636  - plenty of memory leak fixed
 637  - fetch; do not count cached files as files to be fetched
 638  
 639  Changes from 1.17.99.1 to 1.17.99.2
 640  - by default only create .txz symlinks for metadata
 641  - only consider the .pkg when creating a repository
 642    add an option REPO_ACCEPT_LEGACY_PKG to keep index old pkg
 643  - Reduce usage of memory stack
 644  
 645  Changes from 1.16.99.5 to 1.17.99.1
 646  - fix plenty of typos
 647  - add --no-script to autoremove
 648  - deprecated meta file v1
 649  
 650  Changes from 1.16.99.4 to 1.16.99.5
 651  - allow to execute programs from lua script and triggers
 652  - fetch vuln.xml.xz by default
 653  - triggers detected by pkg -r are now deferred for firstboot
 654  - pkg triggers command can be executed at first boot to run the
 655    deferred triggers
 656  
 657  Changes from 1.16.99.3 to 1.16.99.4
 658  - expose the name of the packages to its scripts lua and shell
 659  - plist: remove internal support for @*exec
 660  - plist: remove support for @ignore
 661  - plist: remove suppot for @dirrm/@dirrmtry
 662  - plist: remove support for @pkgdep
 663  - plist: remove stub support for @stopdaemon
 664  - plist: remove stub support for @display
 665  - plist: remove stub support for @mtree
 666  - plist: remove stub support for @conflict
 667  - info: fix info processing of mutliple compares
 668  - ci runs again on linux and osx
 669  - portability fixes for linux and osx
 670  - ubsan/asan related fixes
 671  
 672  Changes from 1.16.99.2 to 1.16.99.3
 673  - lua update to 5.4.2
 674  - pkg repo accept now all supported formats mixed without config
 675  - pkg now default on creating .bsd files with backward compatible symlinks
 676  - backward compatible symlinks are now an option
 677  - make the default comprpession format a config option
 678  - set the default compression level for zstd to 19
 679  - make the default compression level a config option
 680  - Update libucl to latest version
 681  - change the package extension to .pkg (with symlink on the old format)
 682  
 683  Changes from 1.16.99.1 to 1.16.99.2
 684  - libpkg: rsa: stop leaking an RSA object
 685  - libpkg: rsa: start abstracting away rsa bits
 686  - lua: filecmp: Fix for symlink
 687  
 688  Changes from 1.16.99.8 to 1.16.99.1
 689  - Avoid making making xstring.h public
 690  - audit: fix quiet
 691  - libpkg: add a snap(shot) version prefix
 692  - libpkg: only upgrade installed packages with pattern matches
 693  - libpkg: accept an "rsa:" prefixed file for pkg_finish_repo()
 694  
 695  Changes from 1.15.99.7 to 1.15.99.8
 696  - Update documentation about configuration options
 697  - Fix variable expansion while parsing pkg.conf and repositories
 698  - Fix scripts never ending on MacOS
 699  - Do not execute post-install script if extraction fails
 700  - Fix fetching of meta.conf if it is missing
 701  - Update lua to lua 5.3.6
 702  - Improve solver missing some reverse dependencies
 703  - 'audit' now accept a -R/--raw option for parseable output
 704  - 'audit' can now ignore packages based on use define globs or regexp
 705  - 'set' now reports when a package provided in command line is not installed
 706  - all commands are now consistently using --no-scritps instead of different
 707    flavor per commands
 708  - when request to install many packages unavailable in the repo, print all the
 709    missing one instead of stop at the first one only
 710  - 'info' now prints the timestamp and repository in the --raw output
 711  - Improve error messaging when parsing the configuration file
 712  - when upgrading in dry-run mode: stop first checking for pkg, but show all
 713    the packages to be upgraded, pkg included
 714  - Fix crash when pkg is told to package a directory as a file
 715  - 'create' now accept -e to create package with an expanded version of the
 716    manifest aka readable
 717  - Relax keywords attributes syntax by allowing spaces
 718  
 719  Changes from 1.15.99.6 to 1.15.99.7
 720  - Merge keywords preinstall script into a single "prepackaging script"
 721  - implement triggers (lua and shell)
 722  - fix issues with script leaving process in the background
 723  - fix an issue with metalog duplicated entries
 724  - improve performances of pkg query -F
 725  - get rid of sysexits
 726  
 727  Changes from 1.15.99.5 to 1.15.99.6
 728  - lots of keywords improvements:
 729    * validation: lua script to validate the keyword line
 730    * deprecated: boolean to mark a keyword as deprecated
 731    * deprecation_message: message if deprecated
 732    * actions_script: script version of 'actions' in lua
 733    * lua scripts: now can have real arguments instead of
 734    pre-expended ones
 735  
 736  Changes from 1.15.99.4 to 1.15.99.5
 737  - Use open_memstream instead of utstring
 738  - add @include support for plist
 739  
 740  Changes from 1.15.99.3 to 1.15.99.4
 741  - Fix build with non recent compiler
 742  
 743  Changes from 1.15.99.2 to 1.15.99.3
 744  - Fix cases where lua scripts are not properly recognized
 745  - Fix %# in scripts
 746  - Implement @include mechanism for plist
 747  - Fix lua_copy on arm64
 748  
 749  Changes from 1.15.99.1 to 1.15.99.2
 750  - Fix '%X' to include the file name and sum
 751  
 752  Changes from 1.14.99.7 to 1.15.99.1
 753  - Fix '%X' to not include the version
 754  
 755  Changes from 1.14.99.6 to 1.14.99.7
 756  - Default the OSVERSION check to false
 757  - Fix some errors related to getpwname_r/getgrnam_r
 758  - Add RISC-V ABI aliases
 759  - Add '%X' to pkg-query, this print the internal package checksum
 760  
 761  Changes from 1.14.99.5 to 1.14.99.6
 762  - Run lua scripts before shell scripts
 763  - unbreak build with -fno-common
 764  
 765  Changes from 1.14.99.4 to 1.14.99.5
 766  - Fix lua script during pkg_delete
 767  - Return file type for lua_stat
 768  
 769  Changes from 1.14.99.3 to 1.14.99.4
 770  - Add function to lua scripts:
 771    * Simple stat()
 772    * filecopy to copy a file preserving its attributes
 773    * filecmp to compare files
 774    * update sqlite to latest version
 775    * Add a new 'hash' mode to pkg repo to make repositories CDN friendly
 776    * Isolate transport protocol to be able to easily change implementations
 777      in the futur
 778    * Fix invalid json in even_pipe
 779    * lots of portability fixes
 780  
 781  Changes from 1.14.99.2 to 1.14.99.3
 782  - Fix linking on FreeBSD
 783  
 784  Changes from 1.14.99.1 to 1.14.99.2
 785  - Fix hanging if a script spawn a process and
 786    it still run after the scripts finish
 787  - Prevent potential hang with lua scripts
 788  - For http mirror first try to get the list from the
 789    full path and then fallback on the root one if we
 790    didn't find anything.
 791  - Add a debug message if obtaining the lock fails
 792  
 793  Changes from 1.13.99.7 to 1.14.99.1
 794  - parallelize the run of the tests
 795  - Fix VERSION_MINOR expansion
 796  - Fix chflags tests
 797  - Bring back pkg create -n but in a consistent way
 798  - Improve build of sqlite
 799  - Use mmap in sqlite
 800  - Update sqlite to latest version
 801  - Document pkg_create(3)
 802  - Prepare the land for futur proof remote dependency handling
 803  - Update usage of pkg set -A and pkg set -v
 804  - Add pkg create -l (compression level)
 805  
 806  Changes from 1.13.99.6 to 1.13.99.7
 807  - Fix a regression with sometimes makes some keywords being ignored
 808    (aka scripts not appended to the list of scripts)
 809  - Fix ABI on DragonFly
 810  - Fix fd being closed twice
 811  - Improve a bit documentation
 812  
 813  Changes from 1.13.99.5 to 1.13.99.6
 814  - When backing up libraries, create a package 'compat-libraries'
 815    in which the new libraries will be appended to and the version
 816    bumped each time a new library is backed up.
 817  
 818  Changes from 1.13.99.4 to 1.13.99.5
 819  - Fix memory allocation bug during package creation
 820  
 821  Changes from 1.13.99.3 to 1.13.99.4
 822  - Fix detection of the zstd compression
 823  - Fix package creation on installed packages
 824  - Update autosetup to the latest version
 825  
 826  Changes from 1.13.99.2 to 1.13.99.3
 827  - Fix regression in ABI detection (add regression tests about it)
 828  - Fix regression concerning the timestamp of the packaged/installed file
 829    (add  regression tests about it)
 830  
 831  Changes from 1.13.99.1 to 1.13.99.2
 832  - Fix pkg fetch -o
 833  - Implement a mechanism to autobackup libraries during upgrades
 834  - zsh-completion: disable repo update durign package retrival
 835  - Improve documentation
 836  - More variable are now expanded when reading the confirations files:
 837    * OSNAME: FreeBSD
 838    * RELEASE: 12.1
 839    * ARCH: amd64
 840    * VERSION_MAJOR (FreeBSD only)
 841    * VERSION_MINOR (FreeBSD only)
 842  - Remove the unused and inconsistent pkg create -n
 843  - Add -t timestamp to pkg create to be able to specify the expected file timestamp
 844    via command line.
 845  - Refactor the pkg_create API and mark as deprecated the old functions
 846  
 847  Changes from 1.13.99.0 to 1.13.99.1
 848  - Do not create a .pkgnew file in case installing a configure file over
 849    a non existing file
 850  - Update linenoise to latest version
 851  - Update picosat to latest version
 852  - Implement HTTP keep-alive (imported from xbps)
 853  - fix a regression concerning valid url: ssh://user@host:/ was not valid
 854    anymore
 855  
 856  Changes from 1.12.99.4 to 1.13.99.0
 857  - Fix inverted logic leading to rc scripts always being restarted
 858  
 859  Changes from 1.12.99.3 to 1.12.99.4
 860  - Document lua scripts
 861  - Document shell scripts
 862  - Document keywords ucl files
 863  - Add a variable to both lua scripts and shell script to allow
 864    the scripts to know they are actually being upgrading things
 865  
 866  Changes from 1.12.99.2 to 1.12.99.3
 867  - Add more regression test
 868  - Improve consistency of the default ouput
 869  - Give a hint about running pkg update -f in case of "size mismatch"
 870  - Fix pkg backup since the sqlite syscall are overridden
 871  
 872  Changes from 1.12.99.1 to 1.12.99.2
 873  - lua script io.open function now always open relatively to the rootdir
 874  - lua script: all lua script are now run in a sandbox
 875  - expat has been replaced by yxml to parse vuxml
 876  - fix documentation of -y in pkg-set
 877  - update libucl to latest version
 878  - improve error reporting when parsing vuxml files
 879  - shell script can now print messages along with pkg-messages
 880    by writing to ${PKG_MSGFD} file descriptor
 881  
 882  Changes from 1.12.99.0 to 1.12.99.1
 883  - When installing a file over a file that is not tracked by any
 884    package, save the previous one as .pkgsave
 885  - Fix a chicken/egg problem with the meta being compressed and defining
 886    the compression format. Now pkg repo will create a meta.conf file
 887    uncompressed (it is small enough) and fallback on the old meta.txz.
 888    Note that meta.txz is still created for backward compatibility
 889  - pkg repo now creates meta files in version 2 by default meaning the digests.txz
 890    is not created anymore, it was only used up to pkg 1.2. anyone upgrading
 891    from pkg 1.2 should first run pkg bootstrap -f to be on a recent version.
 892  - pkg -r now first lookup under the rootdir for its ABI_FILE.
 893  - suppress version checking when -j is specified
 894  - Alphabetically sort packages printed in the output of pkg commands to ease readability
 895  - pkg lock/unlock now allows multiple packages in arguments
 896  
 897  Changes from pkg 1.11.99.3 to 1.12.99.0
 898  - Fix a crash when specifying an unsupported ABI
 899  
 900  Changes from pkg 1.11.99.2 to 1.11.99.3
 901  - Warn about the fact @unexec is deprecated in pkg-plist
 902  - Fix build with gmake
 903  - Bundle lua functions into a proper package
 904  - Fix build on osx
 905  - Fix libelf detection on debian
 906  - Fix pkg_shutdown unproperly reinitializing closed fds
 907  
 908  Changes from pkg 1.11.99.1 to 1.11.99.2
 909  - Fix cross installation with new build system
 910  - Add a function to lua_script allowing to send a message which will be
 911    printed along with the other messages at the end of the message process.
 912  - Fix detection of libarchive with zstd support
 913  
 914  Changes from pkg 1.11.99.0 to 1.11.99.1
 915  - Import lua 5.3.5
 916  - Recommand using pkg boostrap -f in case we do need to reinstall pkg
 917  - Scripts can now be written in lua
 918  - Keywords scripting part can now be written in lua
 919  
 920  Changes from pkg 1.10.99.13 to 1.10.99.14
 921  - fix libpkg.so when linked with binutils
 922  - instead of closing stdin for script just use /dev/null
 923  - force installation of symlinks to avoid make install to fail is some
 924    symlinks are already there
 925  
 926  Changes from pkg 1.10.99.12 to 1.10.99.13
 927  - fix segfault when running pkg version <an_invalid_index_file>
 928  - fix segfault that can occurs sometime when forcing the installation of a
 929    localpackage: pkg install -f ./mypkg-X.txz
 930  - fix abi detection when multiple elf notes are used in the binary like on
 931    fedora
 932  
 933  Changes from pkg 1.10.99.11 to 1.10.99.12
 934  - use /usr/bin/uname to determine of the ABI
 935  - Add 3 new aliases:
 936    * rall-depends: showing depenencies of a non installed package
 937    * rcomment: showing only the comment of a non installed package
 938    * rdesc: showing only the description of a non installed package
 939  - switch to cirrus-ci
 940  - improve portability on linux
 941  - simplify code to create the repository
 942  - close stdin when running scripts
 943  - update bundled libucl to latest version
 944  - remove backward compat (pkg_*) in periodic scripts
 945  - always use anticongersion on periodic scripts
 946  - Prevent SIGSEGV with 'pkg version' with packaged base
 947  - Fix issue with recent lld
 948  
 949  Changes from pkg 1.10.99.10 to 1.10.99.11
 950  - Fix typos in man pages
 951  - Attempt to fix build in head where libarchive now uses blake2b
 952  
 953  Changes from pkg 1.10.99.9 to 1.10.99.10
 954  - Fix incremental build
 955  - Fix loading plugins in the flat binary
 956  - Stop issueing wrong error message before creating the local repository for
 957    the first time
 958  
 959  Changes from pkg 1.10.99.8 to 1.10.99.9
 960  - Remove a check for config files that have hardlinks
 961  - Add .gitlab-ci.yml to support the Gitlab CI service
 962  - Add a few more tests with hardlinks
 963  
 964  Changes from pkg 1.10.99.7 to 1.10.99.8
 965  - Add options to ignore OSVERSION check and document it
 966  - Complain about RO filesystem for pkgdb access if needed
 967  - Fix privileges drop done too early
 968  - Improve OSVERSION check
 969  - Fix some resource leaks
 970  - Lots of documentation improvements
 971  - Improve conflicts handling
 972  - Do not check remote packages when doing `pkg upgrade -v`
 973  - Convert from autotools to autosetup
 974  - Fix warnings spotted by gcc 7+
 975  - Fix pkg info -R to match the documented behaviour
 976  - Update zsh completion
 977  - Fix crash with config file handling
 978  - pkg is now a semi static binary
 979  
 980  Changes from pkg 1.10.99.6 to 1.10.99.7
 981  - Sort fts traversal in repo creation
 982  - Fix floating pint exception when packaging packages with weird elf files
 983  - More test cases for config merge
 984  - Fix running the testsuite on linux and osx
 985  - Fix pkg version regarding flavors
 986  - Add support for creating packages with a hash in their names
 987  - Accept DT_SONAME anywhere in .dynamic
 988  - make pkg version -r imply -R
 989  - Some fixes for the progression display
 990  - Rename some variables in security periodic scripts.
 991  - Parse FreeBSD OS version and forbid to install too new packages
 992  
 993  Changes from pkg 1.10.99.5 to 1.10.99.6
 994  - Lots of fixes/improvements on periodic scripts
 995  - Fix typo in the .pc file
 996  - Only check for origin if the strings contains / in pkg version
 997  - Support flags when exporting the metalog
 998  - Ignore flags when installing as a user
 999  - fix again using pattern as package arch
1000  - recognize armv7
1001  - add %q to pkg_printf(3) and pkg-query(8) to print altabi
1002  - add an extra line when printing pkg-messages to improve readability
1003  - stop considering nfs as dangerous and if a corruption happens on nfs drive
1004    by a message the user to the highly possible reason of the corruption so
1005    he can fix
1006  - zsh completion imrpovements
1007  
1008  Changes from pkg 1.10.99.4 to 1.10.99.5
1009  - pkg clean is now happy if the cache dir non existing
1010  - 410.pkg-audit now uses anticongestion on freebsd 12
1011  - fix pkg install -r foo if foo is a disabled repository
1012  - fix elf handling on non FreeBSD
1013  - fix support for platforms without AT_SYMLINK_NOFOLLOW
1014  - fix dropping privileges on Linux
1015  - fix build with recent libbsd
1016  - fix duplicate pkg registration overwriting the existing pkg
1017  - better ABI name on linux
1018  - lots of changes in internal API to use fd when possible
1019  - removed option: pkg repo -L
1020  
1021  Changes from pkg 1.10
1022  - Use dep_formula in the solver
1023  - Cache pw result to avoid over reloading nssswitch.conf
1024  - Remove pkg2ng and support for pkg_ databases
1025  
1026  Changes from pkg 1.9
1027  - fix pkg which -g
1028  - Do not use openssl for sha256
1029  - Improve the default output when fetching data
1030  - Update libfetch to the version of FreeBSD 11
1031  - Update libsbuf to the version of FreeBSD 11
1032  - Fix NetBSD ABI
1033  - Add a fallback for utimensat when reporting EOPNOTSUPP
1034  - replace libsbuf with utstring for portability
1035  - Overwrite some sqlite vfs functions to allow more capsicumisation of pkg
1036  - move more pkg audit details into the library
1037  - allow to run pkg query without any privileges
1038  - extend the audit periodic script to report deprecated packages
1039  - Fix fd leak to rcscripts
1040  - stop dropping privieges during fetching it causes more issues than it solves
1041  - speed walking though [reverse]dependencies
1042  - Update blake2b to latest version
1043  - Add blake2s to the list of supported checksums
1044  - Internal digest now default on blake2b on 64 bits and blake2s on 32 bits.
1045  - Fix segfault when ABI is defined but empty
1046  - Do not use the shared library provides/requires on non FreeBSD/Linux
1047  - Define _NETBSD_SOURCES on NetBSD to allow libfetch to use funopen
1048  - Document vital flags
1049  - Fix potential double free when dealing with @config keyword
1050  - Add progress when fetching (number of files to fetch)
1051  - Improved messages about locked packages
1052  - Return 1 when a user rejects the proposed plan
1053  - When dealing with configuration files '@config' never overwrites non tracked
1054    files
1055  - Warn everyone about deprecation of @dirrm and @exec
1056  - Deduplicate metadata loading code
1057  - pkg register now understands context aware messages
1058  - Fix pkg register issues with some version of libarchive:
1059    * hardlinks not being made hardlinks sometime
1060    * issues when PREFIX is a symlink to another directory
1061  - Use portable mechanism to find the number of CPUs which allows pkg repo to be
1062    faster on linux
1063  - New pkg upgrade --vulnerable
1064  
1065  Changes from pkg 1.8
1066  
1067  - Drop privileges in many commands
1068  - Drop privileges when fetching a file
1069  - Add resource limitation to sandboxes
1070  - Add support for metalog
1071  - pkg-delete now print a warning if no packages were matched