July 26, 2024 - v0.13.5
    Add support for parsing the CAP segment.
    End official support for OpenJPEG 2.3.x.
    Fix issue preventing API docs from building.

July 4, 2024 - v0.13.4
    Don't reset openjpeg codec in Jp2k if already set in Jp2kr.
    Update CI configuration to specify openjpeg versions.
    
June 30, 2024 - v0.13.3
    Refactor parsing errors and warnings.
    Update CI configuration for numpy 2.0.
    Skip psnr doctest for numpy 2.0.
    Fix test issue on s390x.
    Refactor code pattern for finding first element.

May 07, 2024 - v0.13.2
    Improve doctesting, fix broken libtiff doctest
    Increase code coverage
    Remove python 3.8 anachronisms
    Fix repr for Jp2kr
    Clean up ci directory
    Change parsing of precinct sizes due to numpy 2.0

Apr 22, 2024 - v0.13.1
    Remove debugging code
    Improve code coverage

Apr 19, 2024 - v0.13.0
    Refactor Jp2k class into Jp2k, Jp2kr
    Simplify example file nemo.jp2
    Fix doctests

Mar 16, 2024 - v0.12.9post2
    Fix readthedocs builds

Nov 26, 2023 - v0.12.9post1
    Fix setup.cfg for v0.12.9 release

Nov 26, 2023 - v0.12.9
    Fix handling of null-bytes with XML data
    Add API references to docs
    Qualify on python 3.12

Jul 12, 2023 - v0.12.8
    Fix printing issue on 3.12beta, Fedora rawhide

May 22, 2023 - v0.12.7
    Fix failing test on fedora
    Change private attribute to prevent downstream test failure with tiatoolbox

May 18, 2023 - v0.12.6post1
    Fix release version

May 17, 2023 - v0.12.6
    Fix conversion of uint16 TIFFs to single jp2 tile.
    Fix command line arguments --psnr and --cratio.
    Minor documentation updates.
    Add --num-threads option to tiff2jp2.
    Refactor GeoJP2 code to get support for GML-JP2.
    Fix broken uint16 test.
    Fix stripped tiff oddity with partial last strip.
    Refactor RGBA interface.

May 03, 2023 - v0.12.5
    Fix plane ordering on RGBA TIFFs on big-endian
    Fix TIFF reads on partian final strips

April 26, 2023 - v0.12.4
    Fix regression on default value of numres.

April 22, 2023 - v0.12.3
    Add support for type hints.
    Remove support for Python 3.8.

January 05, 2023 - v0.12.2
    Fix error condition when MCT specified as false for grayscale image.
    Make properties conform to numpydoc.
    Fix YCbCr/JPEG TIFF conversion test failure on Fedora.
    Stop using libtiff to create test files on the fly.

November 28, 2022 - v0.12.1
    Do not error out for JP2 files with multiple codestreams.
    Relax validation for invalid JP2 files with multiple jp2h boxes.
    Drop support for python 3.7.

October 20, 2022 - v0.12.0
    Add support for ICC profiles, colormaps when converting from TIFF.
    Add shortcut for retrieving lowest resolution thumbnail.
    Remove setuptools from runtime requirement.
    Improve pretty-printing of Exif UUIDs, TLM segments.
    Change default value of --create-xmp-uuid to True.
    Minor bugfixes.

September 16, 2022 - v0.11.7
    Error out early when writing 1x1 tile-by-tile

September 16, 2022 - v0.11.6post2
    Do not install test, test.data packages

September 13, 2022 - v0.11.6post1
    Fix Changelog regarding v0.11.6

September 12, 2022 - v0.11.6
    Fix reads where COD segment not at index[2]
    This fix not included in 0.11.5

September 7, 2022 - v0.11.5
    Fix reads where COD segment not at index[2]

August 18, 2022 - v0.11.4
    Fix ResolutionBox with tiff2jp2 

August 16, 2022 - v0.11.3
    Fix placement of Resolutionbox

August 9, 2022 - v0.11.2
    Relax ResolutionBox requirement on child boxes.

August 6, 2022 - v0.11.1
    Improve efficiency of striped TIFF to tiled JP2 conversion.

July 29, 2022 - v0.11.0
    Add options for supporting ResolutionBoxes.
    Fix ctypes interface to C library on windows.
    Add option to convert XMLPacket into UUID box.
    Add option for excluding tags from Exif UUID box.

July 16, 2022 - v0.10.2
    Fix appveyor builds
    Fix tiff2jp2 when ExifTag is present
    Address warnings in TIFF interface
    Update glymur.config documentation
    
June 28, 2022 - v0.10.1
    Add write capability for Resolution boxes
    Add example documentation for reading layers

June 15, 2022 - v0.10.0
    Allow parsing of Exif UUIDs missing the EXIF\00\00 lead-in
    Add read support for additional Exif tags
    Add support for TLM segment generation

March 23, 2022 - v0.9.9
    Fix bug retrieving some TIFF tags on big endian systems

March 5, 2022 - v0.9.8
    Fix install requirements

January 9, 2022 - v0.9.7.post1
    Fix setup.cfg issue

December 27, 2021 - v0.9.7
    Remove distutils in favor of setuptools
    Add recognition of IMF profiles
    Add ndim, dtype properties

November 04, 2021 - v0.9.6
    Fix tiff support on windows
    Update doc support for python 3.10

November 03, 2021 - v0.9.5
    Add support for generation of PLT markers
    Add support for converting TIFFs to JPEG 2000

September 01, 2021 - v0.9.4
    Add support for writing images tile-by-tile
    Add support for opj_set_decoded_components
    Remove support for Python 3.6

December 31, 2020 - v0.9.3
    Qualify support on Python 3.9, OpenJPEG 2.4
    Add support for multithreaded writes

June 30, 2020 - v0.9.2
    Update setup.py to include tests
    Update gdal imports to stop DeprecationWarning

June 30, 2020 - v0.9.2
    Update setup.py to include tests
    Update gdal imports to stop DeprecationWarning

January 15, 2020 - v0.9.1
    Remove GDAL from setup.py requirements

January 14, 2020 - v0.9.0
    Removed support for python2.7
    Fixed Cygwin support
    Fixed appveyor builds, Travis-CI framework reworked
    Some fragile tests removed
    
November 15, 2019 - v0.8.19
    Qualify on Python 3.8
    
April 24, 2019 - v0.8.18
    Fix geotiff UUID corner coordinate string representation
    Improve warning and error messages
    Correct improperly raised exception types
    Remove build/test for Python 3.4 (EOL)
    Fix read-the-docs requirements

February 19, 2019 - v0.8.17
    Add support for ICC profile raw data
    Fix parsing of negative resolution box exponents

September 18, 2018 - v0.8.16
    Qualify on Python 3.7
    Fix documentation typo

April 07, 2018 - v0.8.15
    Fix link to readthedocs
    Fix for invalid progression order display

January 21, 2018 - v0.8.14
    Fix layers bug

January 10, 2018 - v0.8.13
    Clarify PSNR usage
    Add support for openjpeg threads

October 14, 2017 - v0.8.12
    Qualify on OpenJPEG v2.3.0
    Drop support for Python 3.3

August 15, 2017 - v0.8.11
    Qualify on OpenJPEG v2.2.0
    State LTS plans

March 22, 2017 - v0.8.10
    Add pathlib support
    Add appveyor to CI testing

January 26, 2017 - v0.8.9
    Qualified on Python 3.6
    Change travis-ci testing to use Anaconda

December 01, 2016 - v0.8.8
    Refactor test suite
    Fix printing errors in case of bad colr box
    Fix tests on CentOS when seeing OpenJPEG 1.3

October 02, 2016 - v0.8.7
    Qualified on OPENJPEG v2.1.2

September 19, 2016 - v0.8.6
    The install requirement on setuptools is now stated explicitly.
    Fix error printing invalid channel definition box.

July 07, 2016 - v0.8.5
    Relax dependency on lxml; use stdlib ElementTree if necessary.
    Fix XML box processing bug on certain XML declarations.
    Qualified on OPENJPEG v2.1.1.

May 21, 2016 - v0.8.4
    Add Anaconda awareness to config module, favor over system package manager.
    Fix issue locating openjpeg dll on windows.

September 30, 2015 - v0.8.3
    Add gdal interpretation of UUIDBox with GeoTIFF Box specification for
    JPEG2000 metadata.
    Add support for Python 3.5.
    Add support for Cygwin platform.
    Add write support for UUIDInfo and UUIDList box.
    Relax installation requirement of lxml from version 3.0 to version 2.3.2.
    Fix parsing error on python2 of bits-per-component box.

May 17, 2015 - v0.8.2
    Add proper library version check to read methods.

May 08, 2015 - v0.8.1
    Add support for JP2 bits per component box.

Jan 10, 2015 - v0.8.0
    Deprecate old read and write methods in favor of array-style slicing.
    Reduce number of steps required for writing images.
    Add ignore_pclr_cmap_cdef, verbose, shape, codestream, layer properties.

Oct 06, 2014 - v0.7.2
    Add ellipsis support in array-style slicing.

Oct 02, 2014 - v0.7.1
    Fix README to mention Python 3.4

Oct 01, 2014 - v0.7.0
    Add array-style slicing.

August 03, 2014 - v0.6.0
    Add Cinema2K, Cinema4K write support.
    Changed constructor for ChannelDefinition box.
    Removed support for Python 2.6.
    Added write support for JP2 UUID, DataEntryURL, Palette and Component
    Mapping boxes, JPX Association, NumberList and DataReference boxes.
    Added read support for JPX free, number list, data reference, fragment
    table, and fragment list boxes.
    Improved JPX Reader Requirements box support.
    Added get_printoptions, set_printoptions functions.
    Palette box now a 2D numpy array instead of a list of 1D arrays.
    JP2 super box constructors now take optional box list  argument.
    Fixed bug where JPX files with more than one codestream but advertising
    jp2 compatibility were not being read.

Jan 28, 2014 - v0.5.10
    Fixed bad warning when reader requirements box mask length is unsupported.

Oct 29, 2013 - v0.5.9
    Fixed bad library load on linux as a result of 0.5.8

Oct 29, 2013 - v0.5.8
    Fixed unnecessary warnings when default locations for openjpeg
    libraries on mac do not specify the actual library.

Oct 28, 2013 - v0.5.7
    Fixed bad import error message when libopenjpeg library not
    installed on mac.

Oct 13, 2013 - v0.5.6
    Fixed handling of non-ascii chars in XML boxes.  Fixed some
    docstring errors in jp2box module.

Oct 03, 2013 - v0.5.5
    Fixed pip install error introduced in 0.5.0.  

Sep 24, 2013 - v0.5.4
    Fixed test error restricted to v2.0.

Sep 24, 2013 - v0.5.3
    Removed a duplicated channel definition test in test_jp2box
    that could cause a segfault in 1.3 if not properly skipped.

Sep 23, 2013 - v0.5.2
    Fixed some tests that have been failing since 0.5 under various edge cases.

Sep 19, 2013 - v0.5.1
    Added more resiliency to XML box parsing.
    Fixed tests that failed if OPJ_DATA_ROOT not set.

Sep 16, 2013 - v0.5.0
    Added write support for 1.5.x.  Added version module.

Aug 21, 2013 - v0.4.1
    Fixed segfault with openjpeg 1.x when rlevel=-1

Aug 18, 2013 - v0.4.0
    Added append method.

Aug 15, 2013 - v0.3.2
   Fixed test bug where missing Pillow package caused test failures.

Aug 14, 2013 - v0.3.1
    Exposed mantissa, exponent, and guard_bits fields in QCC and QCD segments.
    Exposed layers and code_block_size in COD segment.
    Exposed precinct_size in COC segment.

Jul 31, 2013 - v0.3.0
    Added support for official 2.0.0.

Jul 27, 2013 - v0.2.8
    Fixed inconsistency regarding configuration file directory on windows.

Jul 25, 2013 - v0.2.7
    Warns but no longer errors out when neither library is found (issue89).

Jul 24, 2013 - v0.2.6
    No longer warning when configuration file not found.
    Added read support for jpch, jplh boxes.
    Added testing of files in format-corpus repository.

Jul 23, 2013 - v0.2.5
    Fixed inconsistency in XML handling, now all instances are always
    ElementTree objects.

Jul 21, 2013 - v0.2.4
    Fixed markdown bug for Fedora 17 information.
    Fixed out-of-date windows information.
    Fixed incorrect interpretation of Psot parameter.

Jul 18, 2013 - v0.2.3
    Support for Python 2.6, OpenJPEG 1.4.
    Incompatible change to ChannelDefinitionBox constructor.
    Added RGBA example.

Jul 11, 2013 - v0.2.2
    Fixed mistakes with trove classifier, pypi releases.

Jul 11, 2013 - v0.2.0
   Support for Python 2.7 on windows, OpenJPEG 1.5.1.

Jun 27, 2013 - v0.1.10
    Can wrap codestreams in custom JP2 jackets.
    Exposing parameter to specify multi component transform.
   Added a raw codestream file.

Jun 16, 2013 - v0.1.9
    Reading ICC profile headers as ordered dicts.
    Exif dictionaries changed to ordered dicts.
    Honoring XDG_CONFIG_HOME environment variable.

Jun 14, 2013 - v0.1.8
    Added reduce=-1 option to get lowest resolution thumbnail.

Jun 07, 2013 - v0.1.7
    Changed Exif dictionary names from ['Exif', 'Photo',
    'Iop', 'GPSInfo'] to ['Image', 'Photo', 'Iop', 'GPSInfo'].  

Jun 06, 2013 - v0.1.6
    Exif classes made private.
    Refactored IFD post processing.
    Corrected omission of Exif in UUIDBox docstring.

Jun 06, 2013 - v0.1.5
    Changed ColourSpecificationBox attribute "color_space" to "colorspace".
    Fixed MANIFEST issue affecting PyPI installs.

Jun 05, 2013 - v0.1.4
    Added Exif UUID read support.

Jun 02, 2013 - v0.1.3p1
    Raising IOErrors when code block size and precinct sizes do not match.
    Added statement to docs about upstream library dependence.
    Added roadmap to docs.

May 30, 2013 - v0.1.2
    Added XMP UUID read support.
    Added jp2 boxes to rst docs, XMLBox.indent method made into a
    private module method.
    Precinct sizes restricted to be multiples of two.

May 27, 2013 - v0.1.1
    Changed write example to not rely on matplotlib.
    Fixed readthedocs.org setup to build documentation automatically.
    Can import glymur without libopenjp2 actually being present.
    Changed write example to not rely on matplotlib.
