Changes from 1.5 to 1.5.1
-------------------------

* Rename public register definitions on x86 and x86_64 to avoid clashing
  with glibc definitions when built in freestanding mode.
  Patch contributed by Daan De Meyer.

Changes from 1.4 to 1.5
-----------------------

* Workaround various header compatibility issues in glibc and bionic.

* Allow ppc64 target to be built in freestanding mode.

Changes from 1.3.3 to 1.4
-------------------------

* Add hard-float support to most architectures where relevant.
  Some patches contributed by Richard Campbell.

Changes from 1.3.2 to 1.3.3
---------------------------

* Use `bl` instruction instead of explicit GOT lookup for `exit`
  in 64-bit PowerPC assembly.

* Fix installation path for standalone libucontext headers.
  Patch contributed by Marian Buschsieweke.

* Fix missing includes for freestanding builds.
  Patch contributed by David Leeds.

Changes from 1.3.1 to 1.3.2
---------------------------

* Rewrite makecontext in C on LoongArch.

* Fix building x86 and loongarch64 variants on Meson.
  Patch by Volker Christian.

Changes from 1.3 to 1.3.1
-------------------------

* Disable hard-float support on ARM by default.

* Fix up getcontext/swapcontext return values on LoongArch.

* Fix assembler warnings when building on LoongArch.

Changes from 1.2 to 1.3
-----------------------

* Fix up getcontext/swapcontext return values across a few ports.
  Patches contributed for ARM and test suite by Volker Christian.

* Add support for hard-float on ARM.
  Patches contributed by Richard Campbell.

* Align build system variables with those used by Automake.
  Patch contributed by Ismael Luceno.

* Fix sporadic parallel build failures.
  Patches contributed by Jim Hauxwell.

* Ensure frame pointers are omitted when using the C trampoline.
  Patch contributed by Sören Tempel.

* Define _XOPEN_SOURCE when building on Darwin.
  Patch contributed by L. Pereira.

* Add support for building the manpages with Meson.
  Patch contributed by matoro.

* Migrate build from _BSD_SOURCE to _DEFAULT_SOURCE.

Changes from 1.1 to 1.2
-----------------------

* Added Loongarch64 port.

* Added OpenRISC (or1k) port.

* Fixed various build system issues:
  - libucontext_posix.so is no longer underlinked
  - Executable stacks are now disabled when using GNU-like toolchains
  - CPPFLAGS is used consistently
  - Users may now build on Darwin without using Meson

* aarch64 now implements the necessary SIMD register save/restore as
  mandatory in AAPCS64.
  Patches contributed by Richard Campbell.

Changes from 1.0 to 1.1
-----------------------

* Added RISC-V RV32 port.

* Cleaned up use of _GNU_SOURCE in C code.
  Partially from patches contributed by osy.

* Added automatic detection of armv7l architecture.
  Patch contributed by Leandro Pereira.

* Fixed installation path of libucontext_posix.a.

* Work around deficiency in clang built-in assembler on AArch64 targets.
  Patch contributed by osy.

Changes from 0.13.1 to 1.0
--------------------------

* Implement common libucontext_trampoline, written in C with inline
  assembly.

* Added Renesas / Hitachi SH-2/SH-4 port (sh).

* Added Meson build system, primarily for the convenience of using
  libucontext with qemu as a subproject.

* Added support for Mach-O ABI.

* Fixed deficiencies in libucontext ABI, SONAME has been bumped due
  to the ABI regressions in 0.13.

Changes from 0.13 to 0.13.1
---------------------------

* Fix installation of libucontext.pc.
  Patch contributed by Ömer Faruk IRMAK.

Changes from 0.12 to 0.13
-------------------------

* Aligned RISC-V RV64 port's header usage with musl 1.2 to remove
  warnings and ensure consistent register name usage.

* Added Motorola 680X0 / NXP ColdFire port (m68k).

* Added support for building for bare-metal targets with newlib via
  make FREESTANDING=yes.  Other OS are also supported (for example,
  the m68k freestanding port was tested on AmigaOS), PowerPC requires
  kernel assistance and cannot be built with FREESTANDING=yes.  Not
  all ports have support for FREESTANDING yet, patches welcome.

Changes from 0.11 to 0.12
-------------------------

* Fixed compilation of RISC-V RV64 port with modern musl releases.

Changes from 0.10 to 0.11
-------------------------

* Added RISC-V RV64 port.

* Fixed compilation with clang.
  Patch contributed by Khem Raj.

* Add ${LIBDIR} variable to build system.
  Patch contributed by Khem Raj.

Changes from 0.9.0 to 0.10
--------------------------

* Added MIPS O32 and MIPS N64 ports.
  MIPS N32 ABI is theoretically supported by ARCH=mips64 with
  a MIPS N32 toolchain, but this has not been tested.

* Improved test program (test_libucontext) verbosity.

* Modernized all architectures to use common assembly
  macros, such as REG_OFFSET(reg), FUNC() and ALIAS().

* Added debugging hints to assembly functions for GDB.

* Automatically alias i386/i686 to x86 in makefile.
  Patch contributed by Gabriel Ivascu.

Changes from 0.1.3 to 0.9.0
---------------------------

* Pass ${LDFLAGS} when linking the libucontext library.
  Patch contributed by Khem Raj.

* Fix clobbering of the first stack argument on x86.
  Patch contributed by A. Wilcox.

* Add support for building a static libucontext.
  Patches contributed by Gabriel Ivascu.

* Rewrite ppc/ppc64 implementation to fully use the
  swapcontext(3) syscall.
  Patches contributed by Bobby Bingham.

Changes from 0.1.1 to 0.1.3
---------------------------

* Fix register clobbering on x86_64.
  Patches contributed by A. Wilcox and Timo Teräs.

Changes from 0.1.0 to 0.1.1
---------------------------

* Added S390X port.

* Cleaned up the ppc/ppc64 trampoline.

* Fixed up GOT clobbering and removed a textrel from the x86
  trampoline.
