- Added the
recursivefolder option: nested folders are discovered as path-named resources such asmessages/general, with sidecar state mirrored under the same nested path. Dot-prefixed entries are always skipped. - Added the
createfolder option:collection()/document()calls for unknown names grow sidecar-backed resources at runtime without creating visible seed files, and they persist across reopens. Dynamic resource names reject empty, dot-prefixed,./.., and backslash segments.
- Added folder database resource proxies so
db.users.find()anddb.settings.get()work alongside callable controls such asdb.collection('users'), withdb._as the explicit control namespace. - Added
file.patch()andpatchFile()helpers for atomic in-place JSON file updates that preserve existing object key order.
- Added stable JSON helpers:
stableStringify,parseJson,stableJson, andregisterJson. - Added a vendored JSON5 parser flow so JSON5-compatible parsing ships without
a runtime
json5dependency.
- Added standalone database identity support with
identity.fields,idFieldcompatibility, scalar keys for single-field resources, canonical object keys for compound resources, duplicate-key detection, declared local indexes, and RedisJSON key layout based on canonical identity objects. - Added append-only collection policy support through
append(), with update/delete/replace-all writes rejected for log resources. - Added encoded bytes metadata and validation for
base64,base64url, andhexstrings. - Added generated
@async/pipelinepreview, snapshot, publish, GitHub Packages mirror, and release-doctor jobs so releases publish through GitHub Actions.
- Initial package scaffold for JSON file/folder database APIs and RedisJSON store support.