Release notes

0.6.4

0.6.3

0.6.2

0.6.1

0.6.0

0.5.5

  • The bundled c-blosc sources have been upgraded to version 1.14.3 (:issue:`72`).

0.5.4

  • The bundled c-blosc sources have been upgraded to version 1.14.0 (:issue:`71`).

0.5.3

0.5.2

  • Add support for encoding None values in VLen… codecs (:issue:`59`).

0.5.1

  • Fixed a compatibility issue with the Zlib codec to ensure it can handle bytearray objects under Python 2.7 (:issue:`57`).
  • Restricted the numcodecs.categorize.Categorize codec to object (‘O’) and unicode (‘U’) dtypes and disallowed bytes (‘S’) dtypes because these do not round-trip through JSON configuration.

0.5.0

  • Added new codecs for encoding arrays with variable-length unicode strings (numcodecs.vlen.VLenUTF8), variable-length byte strings (numcodecs.vlen.VLenBytes) and variable-length numerical arrays ((numcodecs.vlen.VLenArray) (:issue:`56`).

0.4.1

  • Resolved an issue where providing an array with dtype object as the destination when decoding could cause segaults with some codecs (:issue:`55`).

0.4.0

0.3.1

  • Revert the default shuffle argument to SHUFFLE (byte shuffle) for the numcodecs.blosc.Blosc codec for compatibility and consistency with previous code.

0.3.0

  • The numcodecs.blosc.Blosc codec has been made robust for usage in both multithreading and multiprocessing programs, regardless of whether Blosc has been configured to use multiple threads internally or not (:issue:`41`, :issue:`42`).
  • The numcodecs.blosc.Blosc codec now supports an AUTOSHUFFLE argument when encoding (compressing) which activates bit- or byte-shuffle depending on the itemsize of the incoming buffer (:issue:`37`, :issue:`42`). This is also now the default.
  • The numcodecs.blosc.Blosc codec now raises an exception when an invalid compressor name is provided under all circumstances (:issue:`40`, :issue:`42`).
  • The bundled version of the c-blosc library has been upgraded to version 1.12.1 (:issue:`45`, :issue:`42`).
  • An improvement has been made to the system detection capabilities during compilation of C extensions (by :user:`Prakhar Goel <newt0311>`; :issue:`36`, :issue:`38`).
  • Arrays with datetime64 or timedelta64 can now be passed directly to compressor codecs (:issue:`39`, :issue:`46`).

0.2.1

The bundled c-blosc libary has been upgraded to version 1.11.3 (:issue:`34`, :issue:`35`).

0.2.0

New codecs:

Other changes:

Maintenance work:

  • A data fixture has been added to the test suite to add some protection against changes to codecs that break backwards-compatibility with data encoded using a previous release of numcodecs (:issue:`30`, :issue:`33`).

0.1.1

This release includes a small modification to the setup.py script to provide greater control over how compiler options for different instruction sets are configured (:issue:`24`, :issue:`27`).

0.1.0

New codecs:

Other new features:

  • The numcodecs.lzma.LZMA codec is now supported on Python 2.7 if backports.lzma is installed (John Kirkham; :issue:`11`, :issue:`13`).
  • The bundled c-blosc library has been upgraded to version 1.11.2 (:issue:`10`, :issue:`18`).
  • An option has been added to the numcodecs.blosc.Blosc codec to allow the block size to be manually configured (:issue:`9`, :issue:`19`).
  • The representation string for the numcodecs.blosc.Blosc codec has been tweaked to help with understanding the shuffle option (:issue:`4`, :issue:`19`).
  • Options have been added to manually control how the C extensions are built regardless of the architecture of the system on which the build is run. To disable support for AVX2 set the environment variable “DISABLE_NUMCODECS_AVX2”. To disable support for SSE2 set the environment variable “DISABLE_NUMCODECS_SSE2”. To disable C extensions altogether set the environment variable “DISABLE_NUMCODECS_CEXT” (:issue:`24`, :issue:`26`).

Maintenance work:

0.0.1

Fixed project description in setup.py.

0.0.0

First release. This version is a port of the codecs module from Zarr 2.1.0. The following changes have been made from the original Zarr module:

  • Codec classes have been re-organized into separate modules, mostly one per codec class, for ease of maintenance.
  • Two new codec classes have been added based on 32-bit checksums: numcodecs.checksum32.CRC32 and numcodecs.checksum32.Adler32.
  • The Blosc extension has been refactored to remove code duplications related to handling of buffer compatibility.