======= 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.