History

0.9.1 (2026-04-03)

  • Add to_time_string() for vectorized CDF time to string conversion with user-defined format (closes #70)

  • Fix PyCapsule_New null pointer crash on empty variables (Windows)

0.9.0 (2026-04-01)

  • SIMD-optimized time conversions (AVX512/AVX2/SSE2 runtime dispatch for CDF_EPOCH, EPOCH16, TT2000)

  • Improved Python exception messages with actionable context

  • Reject unexpected keyword arguments in Python API functions

  • Reject Variables and Attributes with empty names

  • Fix epoch16 to_epoch16 catastrophic cancellation losing sub-second precision

  • Fix leap_second() off-by-one error and pre-1972 TT2000 handling

  • Fix RLE corruption for sequences of >256 zeros

  • Fix nomap container: swap corruption, const_iterator UB, asymmetric equality

  • Fix mmap MAP_FAILED not detected as invalid mapping, fd leak on failure

  • Fix null-check for libdeflate compressor

  • Fix record_count * record_size uint32_t overflow

  • Fix missing std::move in Variable constructors and rvalue assignment operators

  • Fix blk_iterator postfix operator++ calling step_forward(0)

  • Fix CDF_UCHAR shape handling

  • Fix cdf_map __getitem__ to raise KeyError instead of silently inserting

  • Fix missing CPR record for empty compressed variables (#52)

  • Fix ZSTD error checking and meson ZSTD build

  • C++20 modernization: concepts, structured bindings, std::ranges, if constexpr, std::visit with overload pattern

  • Apple Clang 15 compatibility fix

0.8.6 (2026-01-14)

  • Switch to bump-my-version

  • Auto-convert Latin-1 strings to UTF-8 on load

  • Bump actions/download-artifact from 6 to 7

  • Bump actions/upload-artifact from 5 to 6

0.8.5 (2025-12-09)

  • Add ccache support for Linux builds

  • Migrate to macos-15 for Intel runner, raise minimum macOS version to 13.0

  • Ensure wraps are always built for MACOSX_DEPLOYMENT_TARGET

  • Ignore existing packages on PyPI upload

0.8.4 (2025-12-05)

  • Do not push Wasm wheels to PyPI yet

0.8.3 (2025-11-28)

  • Experimental Pyodide/Wasm builds

  • Configure Dependabot for GitHub Actions updates

  • Bump actions/checkout v4→v6, codecov-action v4→v5, upload-artifact v4→v5, download-artifact v4→v6

0.8.2 (2025-10-08)

  • CI: use the latest pyenv on macOS

0.8.1 (2025-10-07)

  • Update CI and bump dependencies

0.8.0 (2025-07-28)

  • Add support for filtering CDF content using static list, regex, or callable

  • Add support for setting Attributes and Variables values from other Attributes and Variables

  • Add support for cloning variables or attributes

  • Add Python 3.14(t) build and tests (free-threaded Python)

  • Update PyBind11

  • Improve support for CDF special values

  • Honor numpy dtype for attributes values that are List[np.intX or np.uintX]

0.7.7 (2025-05-08)

  • Bump CI build wheel and use native Linux ARM runners

0.7.6 (2025-01-22)

  • Drop ppc wheels (too slow to build on GitHub Actions)

0.7.5 (2025-01-21)

  • Switch to MIT license

  • Add new package architectures, CI cleanup

  • Build Linux wheels in parallel

  • Bump cibuildwheel, update wraps for Python 3.13

0.7.4 (2024-09-18)

  • Fix wrong majority swap with string labels

0.7.3 (2024-06-22)

  • Add numpy 2.0 support and Python 3.13

  • Ensure majority swap is correct with strings

0.7.2 (2024-06-20)

  • Fix majority wrong swap with data cubes

  • Avoid numpy 2.0 until next release

0.7.1 (2024-06-05)

  • Add experimental ZSTD compression algorithm support

  • Ensure C++ side always gets C-contiguous arrays and avoids views

  • Fixes #30 and adds ImHex rudimentary patterns

0.7.0 (2024-05-17)

  • Add preliminary support for CDF file format versions prior to 2.5

  • Add minimum supported CDF file format version

  • Benchmark with CDAWeb masters

  • Sanitizer fixes and specific handling across 2.x versions

0.6.4 (2024-04-17)

  • CI fixes and build architecture configuration

0.6.3 (2024-03-11)

  • macOS compatibility fixes

0.6.2 (2024-03-08)

  • Release GIL as much as possible

  • Switch to cibuildwheel

  • Allow building without Python wrapper

  • Apple Clang fixes

  • Basic WASM proof of concept

0.6.1 (2023-12-05)

  • Fix writing empty attributes strings (ensure numElements cdf fields > 0)

  • set_values assume values=[] if only data_type is provided

  • Attributes values reset, user can now change attributes values once set

0.6.0 (2023-10-18)

  • Fixes + Unfinished skeletons export

  • Adds Python 3.12 support.

  • Builds with O3 optimizations instead of O2.

  • Always expose record count as first dimension (even with NRV variables)

0.5.0 (2023-09-06)

  • Add support for writing CDF files.

  • Add support for lazy loading variables (default behavior now).

  • Read performances improvements.

  • Exposes string variables values as numpy array of unencoded strings by default (.values).

  • Add support for encoding string variables values (.values_encoded).

  • Exposes CDF version, compression, majority,…

0.4.6 (2023-06-22)

  • Fixes Windows ‘access violation’ error.

0.4.5 (2023-06-21)

  • Mostly CI refactoring.

0.4.4 (2023-06-19)

  • Packaging fix.