## v0.4.4 - 11 Mar 2025
* New bindings:
  * #58: support wait4 (Filipe Marques)
* #60: Fix dirfd argument in unlinkat and newfd argument in renameat
  not being correctl propagated.
  (Antonin Décimo)
* #59: Update to ppxlib 0.36.0 and depend on OCaml >= 4.08.
  (Antonin Décimo)

## v0.4.3 - 4 Dec 2024
* Move macros accessing values outside of blocking sections
* Use caml_stat_* functions instead of malloc/free for heap data
* Support renameat2

## v0.4.2 - 10 Aug 2024
* Add TIOCGWINSZ ioctl
* Release runtime mutex in all functions in atfile.c
* Fix splice bindings
* Minor bug fixes

## v0.4.1 - 20 Jun 2022
* Support OCaml 5 new Unix primitive names

## v0.4.0 - 04 Fev 2022
* Remove top-level module names, modules should be accessed via
  ExtUnix top-level module.
* Import realpath from OCaml 4.13
* Support realpath on Windows

## v0.3.2 - 09 May 2021
* Emulate statvfs on Windows
* build: mark ppxlib as build-time dep, depend on OCaml >= 4.06

## v0.3.1 - 11 Apr 2021
* temporarily keep backward compatibility wrt top-level module names

## v0.3.0 - 10 Apr 2021
* build: switch to dune, dune-configurator and ppxlib
* sockopt: handle missing options at runtime
* Add IPv6 support to getifaddrs
* better Windows support
+ Support Endian module on Windows
+ Enable asctime, strftime, tzname, timezone, timegm on Windows

## v0.2.0 -  8 Nov 2019
* camlp4 dependency replaced with ppx
* use available endian functions on Mac OS

## v0.1.7 - 27 Mar 2019
* detect endian functions on more platforms
* fix openlog
* improve gettid on Mac OS

## v0.1.6 - 11 Mar 2018
* OCaml 4.05 compatibility (O_KEEPEXEC)
* sockopt: add BPF options
* make tests less fragile
* New bindings:
  * syslog

## v0.1.5 - 28 Jun 2017
* build with -safe-string

## v0.1.4 - 11 Nov 2016
+ SO_REUSEPORT
* fix sendmsg bug
* fix build on mingw

## v0.1.3 - 24 Nov 2015
* New bindings :
  * fchmodat
  * fchownat
+ ExtUnix.Config
* fix sysconf detection wrt non-standard options

## v0.1.2 - 24 Jul 2015
* New bindings :
  * sysinfo uptime
  * mtrace muntrace
  * mount umount2
  * unshare
  * chroot
+ U.Poll.is_inter inter
* TCP_KEEPCNT TCP_KEEPIDLE TCP_KEEPINTLV are now detected one by one and
  can be available or not available independently. Extunix currently doesn't
  have a mechanism to expose only selected variants from a single type in
  module [Specific], hence one should use [have_sockopt] function to check
  for options presence at runtime.

## v0.1.1 - 18 May 2014
* New bindings :
  * gettid
  * poll
* OCaml 4.02 compatibility (install all .cmi)
* sendmsg/sendfd : fix sending binary data

## v0.1.0 - 8 Oct 2013
* statvfs: add f_flags - decoded f_flag field
* New bindings :
  * sysconf
  * splice tee vmsplice
  * setsockopt_int getsockopt_int (TCP keepalive)
  * sync syncfs
  * timezone
* OCaml 4.01 compatibility (Unix.open_flag)
* relax restrictions on bigarray types

## v0.0.6 - 1 Apr 2013
* New string and bigarray functions :
  * get_uint63 set_uint63 get_int63 set_int63
* fstatat: flags parameter was omitted
* New bindings :
  * readlinkat
  * getifaddrs

## v0.0.5 - 16 Jun 2012
* src/discover.ml :
  * New option -q to suppress stderr
  * --disable-* options to exclude selected features from build
* More precise test for `sendmsg` (bug #1162)
* Fix FTBFS on kfreebsd-* (Debian patch)
* Unit tests are disabled by default and oUnit is now an optional dependency,
  configure with --enable-tests to build tests
* OCaml 4 compatibility (Unix.open_flag)
* List email contacts (bug #1108)

## v0.0.4 - 19 May 2012
* ExtUnix now depends on Bigarray and provides variants of
  some bindings operating on bigarray buffers (BA submodule)
* New bindings :
  * timegm
  * malloc_stats
  * malloc_info
  * read_credentials
  * fexecve
  * sendmsg recvmsg
  * pread pwrite (+ LargeFile and BA variants)
  * read write (+ LargeFile and BA variants)
  * mkstemp mkostemp
  * setresuid setresgid
  * posix_memalign
  * New submodules: BigEndian LittleEndian HostEndian
    * New bindings
      * uint16_from_host uint16_to_host
      *  int16_from_host  int16_to_host
      * uint31_from_host uint31_to_host
      *  int31_from_host  int31_to_host
      *  int32_from_host  int32_to_host
      *  int64_from_host  int64_to_host
    * New string and bigarray functions
      * get_uint8  set_uint8  get_int8  set_int8
      * get_uint16 set_uint16 get_int16 set_int16
      * get_uint31 set_uint31 get_int31 set_int31
      * get_int32  set_int32
      * get_int64 set_int64

## v0.0.3 - 12 Jul 2011
* Keep unlinkat interface compatible with Netsys
* statvfs : return all fields, use POSIX names
* realpath : fix segfault on non-glibc systems
* New bindings :
  * backtrace
  * setenv unsetenv clearenv
  * linkat symlinkat
  * mkdtemp

## v0.0.2 - 26 Dec 2010
* New bindings :
  * getrlimit setrlimit
  * getpriority setpriority
  * ptrace (minimal)
  * renameat mkdirat
  * mlockall munlockall
  * strftime strptime asctime
  * tzname
  * posix_openpt grantpt unlockpt ptsname (Niki Yoshiuchi)
  * getsid
  * ctermid
  * is_open_descr
  * tcgetpgrp tcsetpgrp
  * int_of_file_descr file_descr_of_int
  * sys_exit
* Separate configure test for fsync and fdatasync
* ExtUnix.All.have function to test for features at runtime
* Skip tests of functions not available on the current platform

## v0.0.1 - 7 Nov 2010
* First release, implemented bindings :
  * fsync fdatasync
  * eventfd signalfd
  * statvfs fstatvfs
  * dirfd openat unlinkat fstatat
  * uname
  * fadvise fallocate
  * ttyname setpgid getpgid setreuid setregid
  * realpath
