1.8.0 (2024-09-17)
* Drop pre-4.02 support and compatibility
* Add support for OCaml 5.3 (Kate)
* ExtString: add labels to some functions to match stdlib (Corentin Leruth)
* add ExtString.empty (Corentin Leruth)

1.7.9 (2022-08-05)
* build with OCaml 5 (Kate)
* minimum supported version is OCaml 4.02 now
* build with dune (Makefile is now deprecated) (Marek Kubica, Kate)
* sync String deprecation attributes with upstream

1.7.8 (2021-01-19)
* sync with OCaml 4.12
* breaking change: ExtList.find_map type updated to match stdlib (following deprecation in previous release)
* breaking change: minimal (recommended) build of extlib now excludes Base64 module

1.7.7 (2020-04-24)
* sync with OCaml 4.10
* mark ExtList.find_map deprecated in anticipation of type breakage in next release to match OCaml 4.10 function with same name
* String: fold_left and fold_right without allocations

1.7.6 (2019-03-03)
* fix Dllist.skip with negative argument (Virgile Robles)
* fix IO.read_bits 31 (Dan Korostelev)

1.7.5 (2018-07-08)
 * IO: restore compilation on 32-bit (broken in 1.7.3)
 * sync with OCaml 4.07
 * install.ml is now deprecated, install with Makefile
 + IO: read_i32_as_int

1.7.4 (2018-03-12)
 * fix tests with OCaml 4.06

1.7.3 (2018-03-11)
 * String: faster slice
 * sync with OCaml 4.06 (thx test/std.ml)
 * IO: fix sign bug in read_i31
 * IO: add write_i31 and bounds-checking on write_i32
 * base64: add encode_string decode_string
 * install cmt and cmti

1.7.2 (2017-03-29)
 * sync with OCaml 4.05

1.7.1 (2016-11-11)
 * sync with OCaml 4.04
 * add Hashtbl.Make for better compatibility

1.7.0 (2015-08-29)
 * Switch to git and move repo to github
 * `-safe-string` compatibility
 * use cppo instead of camlp4
 * allow to set the exit code in optParse
 * add new upstream functions in String

1.6.1 (2013-11-26 - trunk @ r436)
 * Drop `extlib_min` package
 * Choose at build-time whether to build full or reduced library

1.6.0 (2013-11-25 - trunk @ r429)
 * Fix OCaml 4 Hashtbl compatibility
 * Install additionally `extlib_min` with reduced set of modules (to mitigate linking conflicts)
 * Build with debugging information by default
 * Fix signature for `ExtList.iteri` and `OptParse.OptParser.error`
 * Speed up `String.nsplit`
 * New functions:
  * `String.find_from` (by Alexander Markov)
  * `IO.output_strings` (by Mehdi Dogguy)
  * `IO.read_float32` and `IO.write_float32` (by Philippe Strauss)
  * `IO.scanf` (by Warren Harris)
  * `UTF8.substring` (by Berke Durak)
  * `Enum.next`

1.5.4 (2013-05-08 - trunk @ r407)
 * Fix installation
 * Streamline release process

1.5.3 (2012-08-12 - trunk @ r397)
 * Bug fixes / improvements:
  * OCaml 4.00 compatibility (Hashtbl)
  * Std.dump: handle float array, never throw
 * New functions:
  * `Array.map2`
 * Install `*`.cmx
 * Build extLib.cmxs

1.5.2 (2011-08-06 - trunk @ r389)
 * Bug fixes / improvements:
  * memory corruption in `DynArray.insert`
  * `ExtList.make` is now tail-recursive
  * stack overflow in `ExtString.nsplit`
  * `ExtList.(@)` is now in scope after `open ExtLib`
  * `DynArray` will not attempt to grow past `Sys.max_array_length`
  * faster `ExtString.starts_with` and `ExtString.ends_with`
  * some documentation comments
 * New functions:
  * `List.find_map`

1.5.1 (2007-12-29 - trunk @ r363)
 * First release from http://code.google.com/p/ocaml-extlib
 * Bug fixes / improvements: 
  * Add `ExtArray.Array.iter2`
  * `Unzip` module fix & test case as reported by Robert Atkey
  * `BitSet.enum` problem reported by Pascal Zimmer
  * `nsplit "" _` ==> `[]`
