New in 2.15:

* Added support for Linux/PowerPC (32-bit) with musl libc.

* Added support for Hurd/x86_64.

* Added support for macOS/x86_64 with clang 15.

* Optimize distinction between stack overflow and other fault on AIX 7.

New in 2.14:

* Added support for 64-bit Cygwin.

* Improved support for Linux/LoongArch64.

* Improved support for Solaris OpenIndiana.

* Added support for MidnightBSD.

* Improved support for OpenBSD/PowerPC64.

New in 2.13:

* Added support for macOS/arm64.

* Added support for Solaris OpenIndiana.

* Added support for catching stack overflow on Solaris 11/SPARC.

* Added support for catching stack overflow on 64-bit Haiku.

* Provide a correct value for SIGSTKSZ on 64-bit Solaris/x86. The one defined
  by this system is too small.

* Improved support for Linux/RISC-V, Linux/nds32.

* Improved support for Android.

* Improved support for FreeBSD/x86, FreeBSD/x86_64, FreeBSD/arm, FreeBSD/arm64.

* Improved support for 64-bit ABI on Solaris/x86_64.

New in 2.12:

* Added support for catching stack overflow on Hurd/i386.

* Added support for catching stack overflow on Haiku.

* Corrected distinction between stack overflow and other fault on AIX.

* Reliability improvements on Linux, FreeBSD, NetBSD.

* NOTE: Support for Cygwin and native Windows is currently not up-to-date.

New in 2.11:

* Added support for catching stack overflow on Linux/SPARC.

* Provide a correct value for SIGSTKSZ on 64-bit AIX and on HP-UX. The one
  defined by these systems is too small.

* Updated build infrastructure.

* Compilation now requires the <stdint.h> include file. Platforms which
  don't have this include file (such as IRIX) are no longer supported.

* NOTE: Support for Cygwin and native Windows is currently not up-to-date.

New in 2.10:

* Support for Linux/S390.
  <sigsegv.h> now defines a macro SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
  It is either 1 or pagesize. Its meaning is that
    - The fault address passed to a SIGSEGV handler has been rounded down
      to a multiple of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
    - The address and length arguments of sigsegv_register function calls
      must be multiples of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
* Faster distinction between stack overflow and other fault on OpenBSD.

New in 2.9:

* Correct support for 64-bit ABI on MacOS X 10.5 and newer.
* Fix alternate stack overflow on at least Linux for PowerPC64;
  regression introduced in 2.6.

New in 2.8:

* Support for Cygwin 1.7. Improved support for Cygwin 1.5.
  Contributed by Eric Blake.

New in 2.7:

* Support for platforms that follow POSIX:2008, not POSIX:2001.
* Support for MirBSD 10.
* Support for IRIX 5.3. Contributed by Eric Blake.
* On Linux platforms, libsigsegv now prefers the POSIX way of defining the
  signal handler over than the traditional one, when both are supported.
  As a consequence, on Linux/i386 and other Linux platforms, the type
  'stackoverflow_context_t' is now typedefed to 'ucontext_t *' rather than
  'struct sigcontext *'.

New in 2.6:

* sigsegv_leave_handler is changed. Previously it was a normal function with
  no arguments. Now it is a function that take a non-returning continuation
  function and three arguments for it as arguments.
  Where you had code like
     int my_handler(void* fault_address, int serious)
     {
       ...code_before()...;
       sigsegv_leave_handler();
       ...code_after()...;
       longjmp(...);
     }
  you now have to write
     void my_handler_tail(void* arg1, void* arg2, void* arg3)
     {
       ...code_after()...;
       longjmp(...);
     }
     int my_handler(void* fault_address, int serious)
     {
       ...code_before()...;
       #if LIBSIGSEGV_VERSION >= 0x0206
       return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
       #else
       sigsegv_leave_handler();
       my_handler_tail(arg, NULL, NULL);
       /* NOTREACHED */
       abort();
       #endif
     }
* sigsegv_leave_handler now works correctly on MacOS X.
* Support for 64-bit ABI on MacOS X 10.5.
* Support for building universal binaries on MacOS X.
* Improved distinction between stack overflow and other fault on NetBSD,
  OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
* GNU gnulib now has an autoconf macro for locating libsigsegv:
  https://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv

New in 2.5:

* Support for MacOS X 10.5.

New in 2.4:

* Support for GCC 4 on more platforms.
* Added support for catching stack overflow on NetBSD.
* Improved support for catching stack overflow on Linux, Solaris:
  Works also when /proc is not mounted or lacks read permissions.

New in 2.3:

* Support for GCC 4 on some platforms contributed by Paolo Bonzini.
* Support for MacOS X i386 contributed by Bruno Haible.
* Improved support for Woe32 contributed by Doug Currie.

New in 2.2:

* Support for new versions of MacOS X contributed by Paolo Bonzini.
* Improved support for AIX 5, contributed by Bruno Haible.

New in 2.1:

* Support for MacOS X contributed by Paolo Bonzini.
* Support for Cygwin contributed by Paolo Bonzini.
* Support for Linux/ia64 and Linux/hppa contributed by Bruno Haible.
* Support for OpenBSD/i386 contributed by Bruno Haible.
* Support for NetBSD/alpha contributed by Paolo Bonzini.

New in 2.0:

* Modernized infrastructure.
* Added support for catching stack overflow on AIX 4, HP-UX, and BeOS.
* Dropped support for NeXTstep.
* The function sigsegv_leave_handler() no longer restores the signal mask.
  This must now be done by the calling handler (either through sigprocmask
  or through siglongjmp).

New in 1.2:

* Support for HP-UX contributed by Paolo Bonzini.

New in 1.1:

* Catching stack overflow now works on some Unix systems:
  - Linux 2.2.x with glibc-2.1,
  - Sun Solaris,
  - DEC OSF/1 4.0,
  - SGI Irix.

