# Changelog ## 2025-09-12 - 5.1.0 - feat(smartjson) Add JSONL stringify and ordering comparator; fix empty buffer handling; refactor Smartjson folding/enfolding - Export stringifyJsonL(items: any[]) and add README documentation for JSONL stringification - stringify(obj, simpleOrderArray) now derives a stable-json comparator from simpleOrderArray when no custom cmp is provided, ensuring predictable key ordering - Fix buffer handling: empty Uint8Array values are preserved (no longer serialized to an empty string) and encoding/decoding logic improved - Refactor Smartjson.enfoldFromObject to safely use saveableProperties and avoid repeated property access - Simplify Smartjson.foldToObject to delegate to an internal foldToObjectInternal with cycle detection and correct nested instance handling - Add unit tests for empty buffers, JSONL parse/stringify, deepEqualJsonLStrings, and simpleOrderArray comparator behavior ## 2025-09-12 - 5.0.21 - fix(Smartjson) Cross-platform buffer/base64 handling, safer folding with cycle detection, parsing fixes, docs and dependency updates - bufferhandling: prefer Node Buffer for base64 encode/decode when available and fall back to browser APIs for cross-platform support - parseJsonL: more robust parsing of JSON Lines (trim lines and use smartjson.parse to restore buffers/typed arrays) - parseBase64: use smartstring.base64.decodeUri or decode fallback before parsing, then parse result via smartjson.parse - Smartjson class: add TypeScript generics to enfold methods, introduce foldToObjectInternal and robust cycle detection using Set, properly handle arrays and deep-clone values - Tests: updated tap import path to @git.zone/tstest/tapbundle - package.json: bumped several devDependencies and dependency versions and added packageManager pin - Documentation: expanded README with examples, API reference and usage guidance - Repo config: added pnpm-workspace.yaml and .claude/settings.local.json ## 2024-05-29 - 5.0.20 - docs Update package description. - Update package description text. ## 2024-05-27 - 5.0.19 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-04-17 - 5.0.18 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-04-17 - 5.0.17 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-04-17 - 5.0.16 - build/core Build/config updates and core fixes. - Updated tsconfig configuration (2024-04-14). - Updated npmextra.json githost entries (multiple updates in early April). - Miscellaneous core updates and fixes. ## 2024-03-19 - 5.0.15 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-03-19 - 5.0.14 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-03-03 - 5.0.13 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-03-03 - 5.0.12 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-03-03 - 5.0.11 - core Core fixes. - Miscellaneous core updates and fixes. ## 2024-02-25 - 5.0.10 - core Core fixes. - Miscellaneous core updates and fixes. ## 2023-08-24 - 5.0.9 - core Core fixes. - Miscellaneous core updates and fixes. ## 2023-08-19 - 5.0.8 - core Core fixes. - Miscellaneous core updates and fixes. ## 2023-08-19 - 5.0.7 - core Core fixes. - Miscellaneous core updates and fixes. ## 2023-07-10 - 5.0.6 - infra/core Organization and core updates. - Switched to new organization scheme. - Miscellaneous core updates and fixes. ## 2023-06-03 - 5.0.5 - core Core fixes. - Miscellaneous core updates and fixes. ## 2022-10-26 - 5.0.4 - core Core fixes. - Miscellaneous core updates and fixes. ## 2022-10-26 - 5.0.3 - core Core fixes. - Miscellaneous core updates and fixes. ## 2022-10-26 - 5.0.2 - core Core fixes. - Miscellaneous core updates and fixes. ## 2022-09-13 - 5.0.1 - core Core fixes. - Miscellaneous core updates and fixes. ## 2022-06-26 - 5.0.0 - core Core fixes. - Miscellaneous core updates and fixes. ## 2022-06-09 - 4.0.7 - core (BREAKING CHANGE) Breaking change in core. - BREAKING CHANGE: core-related update (see code/compat notes). - Miscellaneous core updates. ## 2022-06-09 - 4.0.6 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-05 - 4.0.4 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-05 - 4.0.3 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-05 - 4.0.2 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-05 - 4.0.1 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-05 - 4.0.0 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-05 - 3.0.12 - core (BREAKING CHANGE) Breaking change in core. - BREAKING CHANGE: core-related update (see migration notes). - Miscellaneous core updates. ## 2020-10-03 - 3.0.11 - core Core fixes. - Miscellaneous core updates and fixes. ## 2020-10-03 - 3.0.10 - core Core fixes. - Miscellaneous core updates and fixes. ## 2019-02-14 - 3.0.0 - security Security-related update. - Added snyk policy for security scanning. ## 2019-02-14 - 2.0.2 - core (BREAKING CHANGE) Breaking change in core API. - BREAKING CHANGE: renamed Folable to Smartjson and added deterministic stringify. - Update consumers accordingly. ## 2018-09-05 - 2.0.1 - core Core fixes. - Miscellaneous core updates and fixes. ## 2018-07-23 - 1.0.1 - scope (BREAKING CHANGE) Scope change. - BREAKING CHANGE: changed package scope. - See migration notes for scope changes. ## 2017-02-27 - 1.0.0 - docs/init Initial release. - Added README. - Initial project files and setup. ## 2018-07-23 — 2019-12-15 - 2.0.0, 3.0.1, 3.0.9 - version-only releases Version-only tags / non-descriptive releases. - These releases are recorded as version bumps without additional changelog details. - Affected tags: 2.0.0, 3.0.1, 3.0.9.