## Version 3.1.1 (released 9 December 2025)

- fix get_gainmap arguments [jcupitt]
- fix __array__ copy argument test [jcupitt]
- add a test [jcupitt]

## Version 3.1.0 (released 8 December 2025)

- fix glib DLL name with Conan [boussaffawalid]
- update docs for libvips 8.18 [jcupitt]
- add `get_gainmap()` [jcupitt]
- remove redundant `revalidate` flags from docs [kleisauke]

## Version 3.0.0 (released 28 April 2025)

- drop support for Python 2.7, require Python >= 3.7 [kleisauke]
- migrate to `pyproject.toml` [kleisauke]
- fix a small memleak in `write_to_buffer()` [kleisauke]
- add `[binary]` install option [kleisauke]
- add `shutdown()` [jcupitt]

## Version 2.2.3 (released 28 April 2024)

- ensure compatibility with a single shared libvips library [kleisauke]
- add flags_dict(), enum_dict() for better flags introspection
- improve generation of `enums.py`
- add `stream.py` example
- fix a missing reference issue with custom sources
- fix `addalpha` with scrgb images [RiskoZoSlovenska]
- fix macos compat, again [kleisauke]

## Version 2.2.2 (released 4 Jan 2023)

* fix with libvips nodeprecated [kleisauke]
* update README notes for py3.8+ on win [CristiFati]
* fix VipsObect.print_all() [jcupitt]
* add split, join, annotate animation examples [jcupitt]
* work around broken ffi bool type [amtsak]
* flag classes are now integer-valued so you can OR them [jcupitt]
* update docs for 8.15 [jcupitt]

## Version 2.2.1 (released 12 Jun 2022)

* add seek and end handlers for TargetCustom [jcupitt]
* add `block_untrusted_set`, `operation_block_set` [jcupitt]
* update for libvips 8.13 [jcupitt]
 
## Version 2.2.0 (released 18 Apr 2022)

* `repr()` will print matrix images as matrices [jcupitt]
* more robust bandwise index/slice; added fancy slicing (step != 1) [erdmann]
* fix `im.bandjoin([])`, now returns `im` [erdmann]
* add numpy-style extended indexing (index with list of ints or bools) [erdmann]
* earlier detection of unknown methods and class methods [jcupitt]
* add conversion from Image to numpy array via 'Image.__array__` [erdmann]
* add `Image.fromarray()` for conversion from numpy-ish arrays [erdmann]
* add `invalidate()` [jcupitt]
* add array-like functionality to `Image.new_from_array()` for conversion from
  numpy-ish arrays [erdmann]
* add `Image.numpy()` (convenient for method chaining) [erdmann]
* add `tolist()` [erdmann]
* accept `pathlib.Path` objects for filenames (py3 only) [erdmann]
* cache pspec lookups for a 10% speed boost [jcupitt]

## Version 2.1.16 (started 28 Jun 2021)

* fix logging of deprecated args [manthey]
* add shepards example [tourtiere]
* update docs for 8.12 [jcupitt]
* add pagesplit(), pagejoin(), get_page_height(), get_n_pages() [jcupitt]
* add atan2() [jcupitt]
* add `cache_get_max()`, `cache_get_max_mem()`, `cache_get_max_files()`, 
  `cache_get_size()` [hroskes]
* don't generate docs for deprecated arguments [jcupitt]
* buffer save tries with the target API first [jcupitt]
* add hyperbolic functions `sinh`, `cosh`, `tanh`, `asinh`, `acosh`, 
  `atanh` [jcupitt]
* add `values_for_flag` [kleisauke]

## Version 2.1.15 (27 Dec 2020)

* better autodocs for enums [int-ua]
* better unreffing if operators fail [kleisauke]

## Version 2.1.14 (18 Dec 2020)

* add `stdio.py` example
* update examples
* improve formatting of enum documentation
* regenerate docs
* remove old `vips_free` declaration, fixing API build on some platforms 
  [rajasagashe]

## Version 2.1.13 (4 Jul 2020)

* better diagnostics for API mode install failure [kleisauke]
* revise docs [int-ua]
* better reference tracking for new_from_memory [aspadm]

## Version 2.1.12 (17 Feb 2020) 

* update enums.py [tony612]
* add gen-enums.py [jcupitt]
* improve custom source/target types [jcupitt]
* revise types for set_blob to fix exception with old libvips [jcupitt]
* fix 32-bit support [dqxpb]
* remove pytest-runner from pipy deps [lgbaldoni]
* add watermark with image example [jcupitt]

## Version 2.1.11 (7 Nov 2019) 

* revise README [jcupitt]
* add watermark example [jcupitt]
* fix syntax highlighting in README [favorable-mutation]
* add signal handling [jcupitt]
* add Source / Target support [jcupitt]
* add perf tests [kleisauke]
* speed up Operation.call [kleisauke]
* fix logging [h4l]

## Version 2.1.8 (1 Jul 2019)

* fix regression with py27 [jcupitt]

## Version 2.1.7 (1 Jul 2019)

* prevent exponential growth of reference tables in some cases [NextGuido]

## Version 2.1.6 (7 Jan 2019)

* switch to new-style callbacks [kleisauke]
* add get_suffixes() [jcupitt]
* add Region [jcupitt]
* better handling of NULL strings from ffi [jcupitt]
* add support for dealing with uint64 types [kleisauke]

## Version 2.1.5 (18 Dec 2018)

* better behaviour for new_from_memory fixes some segvs [wppd]
* added addalpha/hasalpha [jcupitt]

## Version 2.1.4 (3 Oct 2018)

* update links for repo move [jcupitt]
* update autodocs for libvips 8.7 [jcupitt]

## Version 2.1.3 (3 March 2018)

* record header version number in binary module and check compatibility with
  the library during startup [jcupitt]
* add optional output params to docs [kleisauke]
* update docs [jcupitt]
* add some libvips 8.7 tests [jcupitt]
* move to pytest [kleisauke]
* better handling of many-byte values in py3 new_from_memory [MatthiasKohl]
* better handling of utf-8 i18n text [felixbuenemann]
* add enum introspection [kleisauke]
* move the libvips test suite back to libvips, just test pyvips here [jcupitt]
* fix five small memleaks [kleisauke]

## Version 2.1.2 (1 March 2018)

* only use get_fields on libvips 8.5+ [rebkwok]
* only use parent_instance on libvips 8.4+ [rebkwok]
* relative import for decl 

## Version 2.1.1 (25 February 2018)

* switch to sdist
* better ABI mode fallback behaviour

## Version 2.1.0 (17 November 2017)

* support cffi API mode as well: much faster startup, about 20% faster on the 
  test suite [jcupitt]
* on install, it tries to build a binary interface, and if that fails, falls 
  back to ABI mode [jcupitt]
* better error for bad kwarg [geniass]

## Version 2.0.6 (22 February 2017)

* add version numbers to library names on linux

## Version 2.0.5 (8 September 2017)

* minor polish
* more tests
* add `composite` convenience method
* move tests outside module [greut]
* switch to tox [greut]
* allow info message logging

## Version 2.0.4 (3 September 2017)

* clear error log after failed get_typeof in get() workaround
* more tests pass with older libvips
* fix typo in logging handler

## Version 2.0.3 (2 September 2017)

* fix get() with old libvips
* better collapse for docs [kleisauke]
* add `get_fields()`

## Version 2.0.2 (26 August 2017)

* support `pyvips.__version__`
* add `version()` to get libvips version number
* add `cache_set_max()`, `cache_set_max_mem()`, `cache_set_max_files()`, 
  `cache_set_trace()`
* all glib log levels sent to py logger
* docs are collapsed for less scrolling [kleisauke]

## Version 2.0.1 (23 August 2017)

* doc revisions
* fix test suite on Windows
* redirect libvips warnings to logging
* fix debug logging

## Version 2.0.0 (19 August 2017)

* rewrite on top of 'cffi' 
