Changes with mod_zip 1.3.1 (unreleased)

    *) Bugfix: Compilation with GCC 16 when nginx debug support is disabled

    *) Bugfix: Compilation when nginx HTTP/3 support is enabled

    *) Bugfix: File descriptors and copy-filter buffers of finished
       subrequests are released while the archive is still streaming,
       instead of at the end of the request. Archives with thousands of
       files no longer run into the worker's open-file limit, and memory
       no longer grows with the number of files #42 #79 #81 #108

    *) Bugfix: Subrequests are not started faster than the client reads.
       A slow client used to make mod_zip open every component file up
       front #108

    *) Bugfix: The client's request body is no longer re-sent from the
       subrequests that fetch component files; with a body buffered to
       disk this failed with "sendfile() failed (9: Bad file descriptor)
       while sending request to upstream" #79

    *) Bugfix: HEAD requests. mod_zip no longer streams the archive body
       for HEAD, and answers with headers only (without Content-Length)
       when the upstream sends no file list for HEAD #22

    *) Bugfix: Entry timestamps are taken from the upstream Last-Modified
       header when present, so the archive is byte-identical between
       requests and can be resumed with Range/If-Range consistently #74

    *) Bugfix: Compilation on platforms where iconv_t is not a void
       pointer (macOS)

    *) Change: The module's headers are declared as build dependencies so
       that incremental nginx builds pick up header changes

Changes with mod_zip 1.3.0                                       20 Feb 2023

    *) Bugfix: Excessive memory usage with large input #67 #94

    *) Bugfix: Fix stalled SSL connections #44 #103 #105

    *) Bugfix: Compatibility with nginx 1.23.0+ #93

    *) Feature: Support for empty directories #86

    *) Feature: Pass credentials in subrequests #87

Changes with mod_zip 1.2.0                                       24 Oct 2020

    *) Bugfix: Flush file header under SSL #44 #50

    *) Bugfix: File names containing a plus symbol #13 #20

    *) Bugfix: 1-byte buffer overflow #47

    *) Bugfix: Validate upstream location #69

    *) Feature: Support for Unicode file paths #4

    *) Feature: Support for big-endian platforms #28

    *) Feature: Support for non-upstream locations #26

    *) Feature: Support for compilation as a dynamic module #62

Changes with mod_zip 1.1.6                                       13 Sep 2010

    *) Feature: Support for UTF-8 filenames. Thanks to Robbie Scott/Bandcamp

    *) Feature: Issue subrequests serially. Thanks to Brian Moran/OneHub

    *) Feature: Use Zip64 when archive is larger than 4 GB. Thanks to Vasily 
       Fedoseyev.

    *) Bugfix: Support spaces in URLs.

Changes with mod_zip 1.1.5                                       03 Sep 2009

    *) Feature: "If-Range" client header is compared to "Last-Modified" and
       "ETag" from the upstream file-list server; if there is a match, the
       "Range" client header is honored, otherwise 200 OK is returned.
       Using "ETag" requires nginx 0.8.10 or later, or included patch.

    *) Bugfix: compatibility with nginx 0.7.25 and later (but earlier
       versions are no longer supported)

    *) Bugfix: Range works with local, Memcached, and FastCGI files

Changes with mod_zip 1.1.4                                       10 Feb 2009

    *) Bugfix: compilation error on FreeBSD

    *) Feature: Range end is optional (e.g. "bytes=0-")

Changes with mod_zip 1.1.3                                       13 Aug 2008

    *) Bugfix: crash when subrequests returned 404

    *) Bugfix: compatibility with BOMArchiveHelper.app on Mac OS X (but only
       when CRC-32's are supplied).

    *) Feature: CRC-32's are optional. Use "-" to have mod_zip calculate them
       on the fly. However, note that without CRC-32's up front, mod_zip will
       not honor "Range" requests.


Changes with mod_zip 1.1.2                                       06 Aug 2008

    *) Bugfix: compilation error with nginx 0.6.x


Changes with mod_zip 1.1.1                                       05 Aug 2008

    *) Bugfix: compilation error on some platforms.


Changes with mod_zip 1.1                                         04 Aug 2008

    *) Feature: "Range" header support.

    *) Change: new file list syntax. See README.


Changes with mod_zip 1.0.8                                       13 Dec 2007

    *) Bugfix: strip "Range" header from subrequests


Changes with mod_zip 1.0.7                                       29 Nov 2007

    *) Bugfix: clear outgoing "Accept-Ranges" header


Changes with mod_zip 1.0.5                                       18 Sep 2007

    *) Bugfix: support archives larger than 2GB


Changes with mod_zip 1.0.4                                       31 Aug 2007

    *) Bugfix: support empty files in an archive


Changes with mod_zip 1.0.3                                       16 Aug 2007

    *) Feature: support for Content-Length when X-Archive-Files-* headers are provided


Changes with mod_zip 1.0.2                                       06 Aug 2007
    
    *) Bugfix: Fixed compilation with no --with-http-debug flag


Changes with mod_zip 1.0.1                                       04 Jul 2007

    *) Initial public release
