== Version 2.16 ==

11 Dec 2011

* The fakechroot script loads additional environment settings from
  configuration directory (+--config-dir+ option). By default additional
  settings are provided for +chroot+(8) and +debootstrap+(8) commands.
* Wrapped +chroot+(8) command loads +ld.so.conf+ paths to +LD_LIBRARY_PATH+
  environment variable.
* The +debootstrap+(8) command works with default, buildd and minbase
  variants.
* Fixes were made for +getpeeraddr+(3) and +getsockaddr+(3) functions.
  +lwp-request+ command is working correctly.

== Version 2.15 ==

29 Sep 2011

* New function +faccessat+(2) was added.  It fixes +test -r+ command.
  Thanks to Johannes Schauer.
* The +popen+(3) function were reimplemented based on OpenBSD source to
  prevent some coredumps with newer GNU C Library.

== Version 2.14 ==

18 Dec 2010

* The source code was refactored: all functions was moved to separated files.
* The +opendir+(3) function is compiled only if it doesn't call other function
  internally.  It fixes +opendir+(3), +fts_open+(3) and +ftw+(3) functions.
* The +fts_*+(3) functions were reimplemented based on OpenBSD source.
* The +ftw_*+(3) functions were reimplemented based on GNU C Library source.
* The +__opendir2+(3) function was reimplemented based on FreeBSD source.
* Fixes were made for older GNU C Library and for cross-compiling environment.

== Version 2.13.1 ==

30 Nov 2010

* Fixes were made for older GNU C Library.

== Version 2.13 ==

29 Nov 2010

* Fixes were made for +realpath+(3) and +ftw+(3) functions.  +apt-ftparchive+
  command currently is working.
* Fixes were made for +canonicalize_file_name+(3), +ftw64+(3), +nftw+(3) and
  +nftw64+(3) functions.
* New functions +fts_children+(3) and +fts_read+(3) were added.
* Lazy dynamic symbol loading was implemented.  Thanks to Alexander Shishkin.
* Fixed bug when +FAKECHROOT_EXCLUDE_PATH+ list was sometimes ignored.
* All source code is now on LGPL license again.

== Version 2.12 ==

10 Nov 2010

* New function +execlp+(3).  Thanks to Robert Spanton.
* New functions +statfs+(2) and +statvfs+(2).  Thanks to Paweł Stawicki.
* Better support for GNU/kFreeBSD was made.

== Version 2.11 ==

12 Sep 2010

* Fixes were made for +getpeername+(2) and +getsockname+(2) functions.
  +host 127.0.0.1+ command currently is working.  Thanks to Daniel Tschan.
* Fixes were made for +canonicalize_file_name+(3) function.  +man-db+ command
  currently is working.
* New functions +__*_chk+(3) were added for GNU libc with fortify +level > 0+.
* New environment variable +FAKECHROOT_AF_UNIX_PATH+ defines an optional
  prefix for unix sockets.
* Better support for FreeBSD was made.
* Autoconf scripts were refactored.
* More test units were added.

== Version 2.10 ==

25 Aug 2010

* Handle properly GNU libc +open+(2), +open64+(2), +openat+(2) and
  +openat64+(2) inline functions.
* Compatibility were improved for +scandir+(3) and +scandir64+(3) functions
  on the latest GNU libc.
* Fixed +lstat+(2) function returns correct +st_size+.  Thanks to Daniel
  Baumann.
* Fixed +readlink+(2) function.  Correctly truncates content if buffer is too
  small.
* Fixed +undefined symbol: rpl_malloc+ error for compiled 32-bit library on
  64-bit architecture by dropping +AC_FUNC_MALLOC+ in +configure.ac+.
* Fixed +chroot+(2) function for path which contains dot character.  Thanks to
  Robie Basak.
* New function +utimensat+(2) fixes +cp+ command on Debian sid.
* New functions +linkat+(2), +mknodat+(2), +mkfifoat+(2), +readlinkat+(2)
  and +symlinkat+(2).
* New functions +popen+(3) and +system+(3) for GNU libc.
* +dpkg-shlibdeps(1)+ works again because +cd $FAKECHROOT_BASE+ does not
  change current working directory to root directory.
* New +FAKECHROOT_CMD_SUBST+ environment variable handles a list of
  substituted commands.  Thanks to Richard W.M. Jones.
* New scripts ldd and ldconfig with .fakechroot suffix are installed.
* New +make test+ target uses Perl's +prove+ tool to run test units.

== Version 2.9 ==

31 Mar 2009

* Fixes were made for +getpeername+(2) and +getsockname+(2) functions.  Thanks to
  Axel Thimm and Fedora people.
* Fixes were made for +execve+(2):
  * Always copy necessary variables to new environment.
  * Do not make duplicates of environment variables.  Thanks to Richard
    W.M. Jones.
* Fixed were made for +chroot+(2).  It is possible to escape chroot.  Thanks
  to Richard W.M. Jones.
* Fixed were made for +mktemp+(2).  There was a buffer overflow.  Thanks to
  Mikhail Gusarov.
* New function: +futimesat+(2).  Fixes +touch -m+ command.
* New functions: +bindtextdomain+(3), +inotify_add_watch+(2).
* More test units was added, +make check+ works as expected.

== Version 2.8 ==

25 Jul 2008

* Fixes were made for +__fxstatat64+(3) function which broke +chown+ command
  on i386 architecture.
* Better support for FreeBSD was made.

== Version 2.7.1 ==

17 Jul 2008

* Compiles with older GNU libc: readlink type of return value is detected.
* Compiles with uClibc: existence of getwd function is detected.

== Version 2.7 ==

15 Jul 2008

* Stability and compatibility were improved for the latest libc.
* Fixes were made for latest version of coreutils.
* Fixed +readlink+(2) function to be ssize_t as it is in newer libc.
* New functions: +__fxstatat+(2), +__fxstatat64+(2), +fchmodat+(2),
  +fchownat+(2), +__openat+(2), +__openat64+(2), +unlinkat+(2).  It fixes
  last coreutils.
* New functions: +mkdirat+(2), +renameat+(2).
* Fixed +chroot+(2) function to not change current working directory.
* Fixed +chroot+(2) function to handle relative path.
* Fixed +execve+(2) function to not expand argv0 and handle +#!+ correctly.
* New +eaccess+(3) function backported from Klik.
* New functions: +bind+(2), +connect+(2), +getpeername+(2), +getsockname+(2).
  They support +PF_UNIX+ sockets.
* More memory allocation for fakechroot_init.

== Version 2.6 ==

5 May 2007

* New environment variable +FAKECHROOT_EXCLUDE_PATH+.
* Fixed +getcwd+(3).  Unbreaks +cd+ command.
* Fixed +readlink+(2) function.  Unbreaks +readlink+ command.
* Fixed +mktemp+(3) function.  Unbreaks +patch+ and +ranlib+ command.
* The +chroot+(2) function is now recursive and allows nested chroots.
