Files
smartjson/changelog.md

5.7 KiB

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.