Got-portable Changelog
======================

This file details portable-specific changes to make things work on systems
other than OpenBSD.

All changes are on top of the versioned changes listed in CHANGES.

# got-portable 0.97 (2024-03-11)

* Changes from got-0.97

  No -portable changes worth mentioning.

# got-portable 0.96 (2024-02-13)

* Changes from got-0.96

  No -portable changes worth mentioning.

# got-portable 0.95 (2023-12-09)

* Changes from got-0.95

  No specific -portable changes worth mentioning.

# got-portable 0.94 (2023-11-30)

* Changes from got-0.94

  -portable ships with an experimental/work-in-progress cvg(1) utility, which
  is disable by default, but can be enabled via the configure flag
  --enable-cvg.  It's is not recommended for use at this time though.

# got-portable 0.93 (2023-09-18)

* Changes from got-0.93

  No specific -portable changes worth mentioning.

# got-portable 0.92 (2023-08-29)

* Changes from got-0.92

This release also introduces 'gotd', which is got's server implementation.  By
extension, other tools are also introduced to work with gotd, and they are:

* gitwrapper
* gotctl
* gotsh

For more information about gotd, see gotd(8), as well as the above command man
pages where necessary.  Note that gotd's portable implementation uses chroot()
to ensure some separation; this still requires the main gotd binary to run as
the root user.

To enable gotd and the corresponding other tools which work with it, you must
pass the '--enable-gotd' ./configure flag.

Further installation instructions can be found in the README.portable file in
the root directory of the project.

# got-portable 0.91 (2023-07-19)

* Changes from got-0.91

  No specific -portable changes worth mentioning.

# got-portable 0.90 (2023-06-26)

* Changes from got-0.90.

  No specific -portable changes worth mentioning.

# got-portable 0.89 (2023-06-08)

* Changes from got-0.89.

  No specific -portable changes worth mentioning.

# got-portable 0.88 (2023-05-02)

* Changes from got-0.88.

  No specific -portable changes worth mentioning.

# got-portable 0.87 (2023-04-22)

* Changes from got-0.87.

  A few -portable changes to tidy up a few things.  See the repository history
  for more details.

# got-portable 0.86 (2023-03-13)

* Changes from got-0.86; no -portable specific changes worth mentioning.

# got-portable 0.85 (2023-03-08)

* Changes from got-0.85.

There's been a tonne of -portable-specific changes in this release which aim
to make portability easier across the supported systems.  In particular,
there's been a lot of header cleanups, and now that -portable is using
config.h, this has allowed dependencies to be split out, so that ncurses is
only linked where required (tog).  This should allow for multipacking where
needed.

There have also been some great improvements to regress (which is the test
suite) to remove GNU-specific wrappers for date(1), sed(1), ln(1).

There's too many commits to list here, but for the specifics, see the
differences between '0.84.1..0.85'.

Thanks in particular to Christian "naddy" Weisgerber for his help with this
work, and this -portable release.

# got-portable 0.84.1 (2023-02-24)

This is a bug-fix -portable release to address the following:

* Switch to using AC_CHECK_DECL to avoid cross-compilation issues when running
  on Void Linux.
* Add libbsd check to template sub-project.

# got-portable 0.84 (2023-02-23)

* Changes from got-0.84.  Portable change include:

* portable: allow for yacc to be found via setting YACC env var.

# got-portable 0.83 (2023-01-31)

* Changes from got-0.83; no -portable specific changes worth mentioning.

# got-portable 0.82 (2023-01-23)

* Changes from got-0.82; no -portable specific changes worth mentioning.

# got-portable 0.81 (2023-01-19)

* Changes from got-0.80 and got-0.81.  Portable changes include:

* portable: Moving template/ to its own subproject (only used at compile-time)
* portable: configure.ac: fix libpanelw detection
* portable: __xpg_strerror_r: add forward-decl

# got-portable 0.79 (2022-11-08)

* Changes from got-0.79; ; no -portable specific changes worth mentioning.

# got-portable 0.78 (2022-11-03)

* Changes from got-0.78; ; no -portable specific changes worth mentioning.

# got-portable 0.77 (2022-10-24)

* Changes from got-0.77; ; no -portable specific changes worth mentioning.

# got-portable 0.76 (2022-09-23)

* Changes from got-0.76; no -portable specific changes worth mentioning.

# got-portable 0.75.1 (2022-09-13)

This is a bug-fix -portable release to address the following:

* portable: macos: look for GNU Bison in more places, based on whether brew or
  MacPorts is in use, and failing to find Bison that way, look in a few
  hard-coded but likely locations.
* portable: remove compat sys/queue.h -- this now makes libbsd a core
  dependency on those systems which require it.

# got-portable 0.75 (2022-09-10)

* portable: import gotwebd
* portable: improve <sys/queue.h> inclusion
* portable: portably wrap socket functions between BSDs/Linux
* portable: improve homebrew support for MacOS

# got-portable 0.74 (2022-07-14)

* portable: made the 'date' command more portable in the test suite.
* portable: improved error-handling for commands on BSD-systems without
  coreutils being installed.
* portable: reworked how 'sed' is wrapped portably, so that it now doesn't use
  any bashisms, and will therefore run under strict POSIX-sh (dash on Ubuntu,
  for instance).

# got-portable 0.73 (2022-07-04)

* Changes as found in got-0.73.
* portable: the libexec helpers now support Capsicum on FreeBSD, which is
  similar to OpenBSD's pledge() syscall.
* Some portable work has taken place, but these have been merged upstream and
  hence will be in the got-0.73 changes file.

# got-portable 0.71 (2022-06-23)

* portable: fix cross-compilation, from Leah Neukirchen

# got-portable 0.70 (2022-05-13)

* Changes from got-0.70; no -portable specific changes worth mentioning.

# got-portable 0.69 (2022-04-24)

* portable: added Apline Linux to the core set of OSes when checking CI/CD -
  this therefore implies -portable can build on muscl as well as glibc.
* portable: fixed compilation of -portable on Alpine Linux with respect to
  Landlock by using the correct header file.
* portable: added SipHash as a -portable implementation.

# got-portable 0.68.1 (2022-03-22)

* portable: fix up a bad merge whereby a code block that should have been
  removed was left in-situ.

# got-portable 0.68 (2022-03-22)

* Changes from got-0.68
* portable: support for the following operating systems:
  - FreeBSD
  - NetBSD
  - DragonFlyBSD
  - MacOS

# got-portable 0.67; (2022-02-20)

* Changes from got-0.66
* Landlock support: portable now has support for the landlock API which
  is similar to unveil(), allowing restrictions to which part of the
  filesystem a process can access.

# got-portable 0.66; (2022-01-12)

* Changes from got-0.65

# got-portable 0.65; (2022-01-06)

* Added timespec*() compat-wrappers for BSD-time functions.

# got-portable 0.64; (2021-11-24)

* regress: make tests POSIX-compliant by making them run under dash (Ubuntu)

# got-portable 0.62; (2021-10-17)

* Changes from got-0.62

# got-portable 0.61; (2021-10-09)

* Port regress tests.
* Improve FreeBSD compatibility.

# got-portable 0.60; (2021-09-21)

* First portable version released for Linux.
