Skip to content

Commit 2ddadaf

Browse files
committed
Release v2024.1.1
1 parent d85e069 commit 2ddadaf

File tree

1 file changed

+56
-91
lines changed

1 file changed

+56
-91
lines changed

README.rst

Lines changed: 56 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,21 @@ Czifile, Zarr, kerchunk, and other scientific image input/output packages.
77

88
Decode and/or encode functions are implemented for Zlib (DEFLATE), GZIP,
99
ZStandard (ZSTD), Blosc, Brotli, Snappy, LZMA, BZ2, LZ4, LZ4F, LZ4HC, LZ4H5,
10-
LZW, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, AEC, SZIP,
11-
LERC, EER, NPY, BCn, DDS, PNG, APNG, GIF, TIFF, WebP, QOI, JPEG 8 and 12-bit,
12-
Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEG 2000 (JP2, J2K), JPEG LS, JPEG XL,
13-
JPEG XR (WDP, HD Photo), MOZJPEG, AVIF, HEIF, RGBE (HDR), Jetraw, PackBits,
14-
Packed Integers, Delta, XOR Delta, Floating Point Predictor, Bitorder reversal,
15-
Byteshuffle, Bitshuffle, Quantize (Scale, BitGroom, BitRound, GranularBR),
16-
Float24 (24-bit floating point), and CMS (color space transformations).
10+
LZW, LZO, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, SPERR,
11+
AEC, SZIP, LERC, EER, NPY, BCn, DDS, BMP, PNG, APNG, GIF, TIFF, WebP, QOI,
12+
JPEG 8 and 12-bit, Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEG 2000 (JP2, J2K),
13+
JPEG LS, JPEG XL, JPEG XR (WDP, HD Photo), MOZJPEG, AVIF, HEIF, RGBE (HDR),
14+
Jetraw, DICOMRLE, PackBits, Packed Integers, Delta, XOR Delta,
15+
Floating Point Predictor, Bitorder reversal, Byteshuffle, Bitshuffle,
16+
Float24 (24-bit floating point),
17+
Quantize (Scale, BitGroom, BitRound, GranularBR), and
18+
CMS (color space transformations).
1719
Checksum functions are implemented for crc32, adler32, fletcher32, and
1820
Jenkins lookup3.
1921

2022
:Author: `Christoph Gohlke <https://www.cgohlke.com>`_
2123
:License: BSD 3-Clause
22-
:Version: 2023.9.18
24+
:Version: 2024.1.1
2325
:DOI: `10.5281/zenodo.6915978 <https://doi.org/10.5281/zenodo.6915978>`_
2426

2527
Quickstart
@@ -48,51 +50,53 @@ Requirements
4850
This revision was tested with the following requirements and dependencies
4951
(other versions may work):
5052

51-
- `CPython <https://www.python.org>`_ 3.9.13, 3.10.11, 3.11.4, 3.12.0rc, 64-bit
52-
- `Numpy <https://pypi.org/project/numpy>`_ 1.25.2
53-
- `numcodecs <https://pypi.org/project/numcodecs/>`_ 0.11.0
53+
- `CPython <https://www.python.org>`_ 3.9.13, 3.10.11, 3.11.7, 3.12.1, 64-bit
54+
- `Numpy <https://pypi.org/project/numpy>`_ 1.26.2
55+
- `numcodecs <https://pypi.org/project/numcodecs/>`_ 0.12.1
5456
(optional, for Zarr compatible codecs)
5557

5658
Build requirements:
5759

58-
- `Cython <https://github.com/cython/cython>`_ 0.29.36
60+
- `Cython <https://github.com/cython/cython>`_ 3.0.7
5961
- `brotli <https://github.com/google/brotli>`_ 1.1.0
6062
- `brunsli <https://github.com/google/brunsli>`_ 0.1
6163
- `bzip2 <https://gitlab.com/bzip2/bzip2>`_ 1.0.8
6264
- `c-blosc <https://github.com/Blosc/c-blosc>`_ 1.21.5
63-
- `c-blosc2 <https://github.com/Blosc/c-blosc2>`_ 2.10.3
65+
- `c-blosc2 <https://github.com/Blosc/c-blosc2>`_ 2.12.0
6466
- `charls <https://github.com/team-charls/charls>`_ 2.4.2
6567
- `giflib <https://sourceforge.net/projects/giflib/>`_ 5.2.1
66-
- `jetraw <https://github.com/Jetraw/Jetraw>`_ 22.02.16.1
68+
- `jetraw <https://github.com/Jetraw/Jetraw>`_ 23.03.16.4
6769
- `jxrlib <https://github.com/cgohlke/jxrlib>`_ 1.2
68-
- `lcms <https://github.com/mm2/Little-CMS>`_ 2.15
70+
- `lcms2 <https://github.com/mm2/Little-CMS>`_ 2.16.0
6971
- `lerc <https://github.com/Esri/lerc>`_ 4.0.0
70-
- `libaec <https://gitlab.dkrz.de/k202009/libaec>`_ 1.0.6
71-
- `libavif <https://github.com/AOMediaCodec/libavif>`_ 1.0.1
72-
(`aom <https://aomedia.googlesource.com/aom>`_ 3.7.0,
73-
`dav1d <https://github.com/videolan/dav1d>`_ 1.2.1,
72+
- `libaec <https://gitlab.dkrz.de/k202009/libaec>`_ 1.1.2
73+
- `libavif <https://github.com/AOMediaCodec/libavif>`_ 1.0.3
74+
(`aom <https://aomedia.googlesource.com/aom>`_ 3.8.0,
75+
`dav1d <https://github.com/videolan/dav1d>`_ 1.3.0,
7476
`rav1e <https://github.com/xiph/rav1e>`_ 0.6.6,
75-
`svt-av1 <https://gitlab.com/AOMediaCodec/SVT-AV1>`_ 1.7.0)
77+
`svt-av1 <https://gitlab.com/AOMediaCodec/SVT-AV1>`_ 1.8.0)
7678
- `libdeflate <https://github.com/ebiggers/libdeflate>`_ 1.19
77-
- `libheif <https://github.com/strukturag/libheif>`_ 1.16.2
78-
(`libde265 <https://github.com/strukturag/libde265>`_ 1.0.12,
79+
- `libheif <https://github.com/strukturag/libheif>`_ 1.17.6
80+
(`libde265 <https://github.com/strukturag/libde265>`_ 1.0.15,
7981
`x265 <https://bitbucket.org/multicoreware/x265_git/src/master/>`_ 3.5)
80-
- `libjpeg-turbo <https://github.com/libjpeg-turbo/libjpeg-turbo>`_ 3.0.0
81-
- `libjxl <https://github.com/libjxl/libjxl>`_ 0.8.2
82-
- `liblzma <https://git.tukaani.org/?p=xz.git>`_ 5.4.4
82+
- `libjpeg-turbo <https://github.com/libjpeg-turbo/libjpeg-turbo>`_ 3.0.1
83+
- `libjxl <https://github.com/libjxl/libjxl>`_ 0.9.0
84+
- `liblzma <https://git.tukaani.org/?p=xz.git>`_ 5.4.5
8385
- `libpng <https://github.com/glennrp/libpng>`_ 1.6.40
8486
- `libpng-apng <https://sourceforge.net/projects/libpng-apng/>`_ 1.6.40
8587
- `libtiff <https://gitlab.com/libtiff/libtiff>`_ 4.6.0
8688
- `libwebp <https://github.com/webmproject/libwebp>`_ 1.3.2
8789
- `lz4 <https://github.com/lz4/lz4>`_ 1.9.4
8890
- `lzfse <https://github.com/lzfse/lzfse/>`_ 1.0
8991
- `lzham_codec <https://github.com/richgel999/lzham_codec/>`_ 1.0
90-
- `mozjpeg <https://github.com/mozilla/mozjpeg>`_ 4.1.1
92+
- `lzokay <https://github.com/AxioDL/lzokay>`_ db2df1f
93+
- `mozjpeg <https://github.com/mozilla/mozjpeg>`_ 4.1.5
9194
- `openjpeg <https://github.com/uclouvain/openjpeg>`_ 2.5.0
9295
- `snappy <https://github.com/google/snappy>`_ 1.1.10
93-
- `zfp <https://github.com/LLNL/zfp>`_ 1.0.0
96+
- `sperr <https://github.com/NCAR/SPERR>`_ 0.8.0
97+
- `zfp <https://github.com/LLNL/zfp>`_ 1.0.1
9498
- `zlib <https://github.com/madler/zlib>`_ 1.3
95-
- `zlib-ng <https://github.com/zlib-ng/zlib-ng>`_ 2.1.3
99+
- `zlib-ng <https://github.com/zlib-ng/zlib-ng>`_ 2.1.5
96100
- `zopfli <https://github.com/google/zopfli>`_ 1.0.3
97101
- `zstd <https://github.com/facebook/zstd>`_ 1.5.5
98102

@@ -117,33 +121,46 @@ Vendored requirements:
117121

118122
Test requirements:
119123

120-
- `tifffile <https://pypi.org/project/tifffile>`_ 2023.9.18
124+
- `tifffile <https://pypi.org/project/tifffile>`_ 2023.12.9
121125
- `czifile <https://pypi.org/project/czifile>`_ 2019.7.2
122126
- `zarr <https://github.com/zarr-developers/zarr-python>`_ 2.16.1
123127
- `python-blosc <https://github.com/Blosc/python-blosc>`_ 1.11.1
124-
- `python-blosc2 <https://github.com/Blosc/python-blosc2>`_ 2.2.7
128+
- `python-blosc2 <https://github.com/Blosc/python-blosc2>`_ 2.4.0
125129
- `python-brotli <https://github.com/google/brotli/tree/master/python>`_ 1.0.9
126130
- `python-lz4 <https://github.com/python-lz4/python-lz4>`_ 4.3.2
127131
- `python-lzf <https://github.com/teepark/python-lzf>`_ 0.2.4
128132
- `python-snappy <https://github.com/andrix/python-snappy>`_ 0.6.1
129133
- `python-zstd <https://github.com/sergey-dryabzhinsky/python-zstd>`_ 1.5.5.1
130134
- `pyliblzfse <https://github.com/ydkhatri/pyliblzfse>`_ 0.4.1
131-
- `zopflipy <https://github.com/hattya/zopflipy>`_ 1.8
135+
- `zopflipy <https://github.com/hattya/zopflipy>`_ 1.9
132136

133137
Revisions
134138
---------
135139

140+
2024.1.1
141+
142+
- Pass 7420 tests.
143+
- Add 8/24-bit BMP codec.
144+
- Add SPERR codec based on SPERR library.
145+
- Add LZO decoder based on lzokay library.
146+
- Add DICOMRLE decoder.
147+
- Enable float16 in CMS codec.
148+
- Enable MCT for lossless JPEG2K encoder (#88).
149+
- Ignore pad-byte in PackBits decoder (#86).
150+
- Fix heif_write_callback error message not set.
151+
- Require lcms2 2.16 with issue-420 fixes.
152+
- Require libjxl 0.9, libaec 1.1, Cython 3.
153+
136154
2023.9.18
137155

138-
- Pass 7110 tests.
139-
- Rebuild with updated dependencies fixes CVE-2023-4863.
156+
- Rebuild with updated dependencies fixes CVE-2024-4863.
140157

141158
2023.9.4
142159

143160
- Map avif_encode level parameter to quality (breaking).
144161
- Support monochrome images in avif_encode.
145162
- Add numthreads parameter to avif_decode (fix imread of AVIF).
146-
- Add experimental quantize filter (BitGroom, BitRound, GBR) via nc4var.c.
163+
- Add quantize filter (BitGroom, BitRound, GBR) via nc4var.c.
147164
- Add LZ4H5 codec.
148165
- Support more BCn compressed DDS fourcc types.
149166
- Require libavif 1.0.
@@ -200,58 +217,6 @@ Revisions
200217

201218
2022.12.24
202219

203-
- Fix PNG codec error handling.
204-
- Fix truncated transferfunctions in cms_profile (#57).
205-
- Fix exceptions not raised in cdef functions not returning Python object.
206-
207-
2022.12.22
208-
209-
- Require libtiff 4.5.
210-
- Require libavif 0.11.
211-
- Change jpegxl_encode level parameter to resemble libjpeg quality (breaking).
212-
- Add LZFSE codec via lzfse library.
213-
- Add LZHAM codec via lzham library.
214-
- Fix AttributeError in cms_profile (#52).
215-
- Support gamma argument in cms_profile (#53).
216-
- Raise limit of TIFF pages to 1048576.
217-
- Use libtiff thread-safe error/warning handlers.
218-
- Add option to specify filters and strategy in png_encode.
219-
- Add option to specify integrity check type in lzma_encode.
220-
- Fix DeprecationWarning with NumPy 1.24.
221-
- Support Python 3.11 and win-arm64.
222-
223-
2022.9.26
224-
225-
- Support JPEG XL multi-channel (planar grayscale only) and multi-frame.
226-
- Require libjxl 0.7.
227-
- Switch to Blosc2 API and require c-blosc 2.4 (breaking).
228-
- Return LogLuv encoded TIFF as float32.
229-
- Add RGBE codec via rgbe.c.
230-
231-
2022.8.8
232-
233-
- Drop support for libjpeg.
234-
- Fix encoding JPEG in RGB color space.
235-
- Require ZFP 1.0.
236-
237-
2022.7.31
238-
239-
- Add option to decode WebP as RGBA.
240-
- Add option to specify WebP compression method.
241-
- Use exact lossless WebP encoding.
242-
243-
2022.7.27
244-
245-
- Add LZW encoder.
246-
- Add QOI codec via qoi.h (#37).
247-
- Add HEIF codec via libheif (source only; #33).
248-
- Add JETRAW codec via Jetraw demo (source only).
249-
- Add ByteShuffle codec, a generic version of FloatPred.
250-
- Replace imcd_floatpred by imcd_byteshuffle (breaking).
251-
- Use bool type in imcd (breaking).
252-
253-
2022.2.22
254-
255220
- …
256221

257222
Refer to the CHANGES file for older revisions.
@@ -302,8 +267,8 @@ Wheels may not be available for all platforms and all releases.
302267

303268
Only the ``win_amd64`` wheels include all features.
304269

305-
The ``tiff``, ``bcn``, ``dds``, ``eer``, ``packints``, and ``jpegsof3`` codecs
306-
are currently decode-only.
270+
The ``tiff``, ``bcn``, ``dds``, ``dicomrle``, ``eer``, ``lzo``, ``packints``,
271+
and ``jpegsof3`` codecs are currently decode-only.
307272

308273
The ``heif`` and ``jetraw`` codecs are distributed as source code only due to
309274
license and possible patent usage issues.
@@ -340,8 +305,8 @@ specific extensions, for example:
340305
--global-option="--skip-bitshuffle"``
341306

342307
The ``apng``, ``avif``, ``jetraw``, ``jpegls``, ``jpegxl``, ``lerc``,
343-
``lz4f``, ``lzfse``, ``lzham``, ``mozjpeg``, ``zfp``, and ``zlibng``
344-
extensions are disabled by default when building from source.
308+
``lz4f``, ``lzfse``, ``lzham``, ``lzo``, ``mozjpeg``, ``sperr``, ``zfp``,
309+
and ``zlibng`` extensions are disabled by default when building from source.
345310

346311
To modify other build settings such as library names and compiler arguments,
347312
provide a ``imagecodecs_distributor_setup.customize_build`` function, which
@@ -390,7 +355,7 @@ Other Python packages and C libraries providing imaging or compression codecs:
390355
`Wuffs <https://github.com/google/wuffs>`_,
391356
`TinyDNG <https://github.com/syoyo/tinydng>`_,
392357
`OpenJPH <https://github.com/aous72/OpenJPH>`_,
393-
`SPERR <https://github.com/NCAR/SPERR>`_ (GPL),
358+
`Grok <https://github.com/GrokImageCompression/grok>`_ (AGPL),
394359
`MAFISC
395360
<https://wr.informatik.uni-hamburg.de/research/projects/icomex/mafisc>`_,
396361
`B3D <https://github.com/balintbalazs/B3D>`_.

0 commit comments

Comments
 (0)