-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathChangeLog
More file actions
57 lines (49 loc) · 4.24 KB
/
ChangeLog
File metadata and controls
57 lines (49 loc) · 4.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Version 0.2.1 (2026-04-25)
* In forked processes (`mclapply`), force `nthreads = 1` to avoid using TBB state inherited across `fork()`. TBB + fork is not supported (https://www.intel.com/content/www/us/en/docs/onetbb/developer-guide-api-reference/2021-11/known-limitations.html)
* Add an extra `PROTECT` around qs2 read results while computing runtime hashes to quiet rchk false positives
Version 0.2.0 (2026-04-21)
* `use_alt_rep` parameter temporarily disabled with warning for this version
* Add stored `xxhash` checks and warn on mismatch by default
* Replace the old custom unwind-jump handling with `Rcpp::unwindProtect()` and extend the same cleanup model to qdata read/write paths
* Add `R_CheckStack()` to qdata recursive read/write paths so deep nesting fails cleanly instead of crashing
* Harden malformed-input handling in `qs2`, `qdata`, `qx_dump()`, and `qs_to_rds()`: reject oversized compressed-block headers, oversized qdata lengths, short malformed blocks, and attribute counts, malformed attribute names and semantically invalid R attributes
* Add max output size parameter in `zstd_decompress_file()` and `zstd_in()`, and delete partial output on failure
* Make `qs_save()` and `qd_save()` fail cleanly if file writes start successfully but later fail (e.g. due to full disk)
* Require actual raw vectors in `zstd_(de)compress_raw()`, `blosc_(un)shuffle_raw()`, and `xxhash_raw()` instead of allowing implicit coercion
* Harden `base85` / `base91` utilities and expand utility regression coverage for malformed and empty inputs
* Fix qdata delayed attribute replay ordering for malformed or canonicalized attribute subtrees
* Remove the old dynamic-blocksize plumbing and keep the fixed block-size path only
* Update bundled zstd from `1.5.6` to `1.5.7` and vendored qdata-cpp xxHash from `0.8.2` to `0.8.3`
* Add reproducible local vendoring helpers for bundled zstd and vendored xxHash
* Add deterministic malformed-input regressions and expand fuzz coverage in local hardening scripts
* Refactor qdata internals into a vendored standalone `qdata-cpp` package
* Fix usage of `Rf_error` error handling (https://github.com/qsbase/qs2/issues/26)
* Fix performance bug, use correct shuffle flag at high compress levels
Version 0.1.7 (2026-01-18)
* Replace `ATTRIB` and `SET_ATTRIB` calls (no longer in API)
* Enable TBB by default (via RcppParallel); use configure --without-TBB to force disable
* Add ZSTD file substitution helpers `zstd_in` and `zstd_out`
* Add ZSTD bindings section to the vignette
Version 0.1.6 (2025-11-20)
* If `nthreads > 1` requested and TBB not available, fall back to `nthreads = 1` and produces a warning instead of an error
* Minor fix: for complex vectors with attributes header was written twice in `qd_save`
* Minor fix: for non-UTF8 environments and non-ascii strings and using `stringfish` ALTREP, `qd_save` was not correctly translating to UTF8
* Add zstd file utilities `zstd_compress_file` and `zstd_decompress_file`
* Add `tests/utility_testing.R` to test additional utility functions
* Update qdata deserializer to set class attributes without deprecated `SET_OBJECT` function
Version 0.1.5 (2025-03-07)
* Fix `_u8` literal operator to align with C++23 (-Wdeprecated-literal-operator)
* Add global parameters for serialization arguments, see `Global Options for qs2` in the README / vignette
Version 0.1.4 (2024-12-12)
* Fix for decompression error edge case (https://github.com/qsbase/qs2/issues/7)
Version 0.1.3 (2024-12-02)
* Add additional `PROTECT` and `UNPROTECT` calls to remove false positive RCHK warnings
Version 0.1.2 (2024-11-24)
* Add support for newer versions of TBB using tbb::flow::input_node (https://github.com/qsbase/qs2/issues/2)
* Add in memory serialization functions `qs_serialize`, `qs_deserialize`, `qd_serialize` and `qd_deserialize`
* Add `qs_readm` and `qs_savem` functions for saving and loading multiple objects
* Added XXH3 64 bit standalone function `xxhash_raw`
* Ported from `qs` package: star name database from the International Astronomical Union; see `?starnames`
* Ported from `qs` package: base85 and basE91 ASCII encoding
Version 0.1.1 (2024-09-16)
* Initial CRAN release