yamlock 1.0.0
yamlock 1.0.0 arrives 8 months and 18 days after the first commit on November 24, 2025.
This release establishes the stable 1.x contract for yamlock's CLI, Node.js API, authenticated payload format, field-path serialization, errors, and TypeScript declarations.
Highlights
- Authenticated payload v2 is now the default, using a fixed AES-256-GCM profile, scrypt key derivation, strict parsing, and authenticated field-path metadata.
yamlock migratesafely upgrades selected legacy payloads to v2 with dry-run summaries, mixed-format validation, backups, separate outputs, and atomic permission-preserving writes.- Repeated encryption authenticates and preserves existing payloads by default; strict and explicit force-encryption modes cover automation and intentional nested encryption.
- CLI writes are atomic, reject symbolic-link paths, preserve file modes, detect concurrent source changes, and avoid exposing configuration contents in parse errors.
- The public Node.js API now includes stable error classes and codes, TypeScript declarations, canonical
serializePath(segments), and a documented1.xcompatibility policy. - CI verifies Node.js 22, 24, and 26 on Linux and macOS, coverage thresholds, documentation, release metadata, types, and the installed npm package.
Compatibility and migration
- yamlock requires Node.js 22 or newer and remains an ESM package.
- Existing legacy payloads remain readable throughout the
1.xline. Legacy writing is still available explicitly throughyamlock encrypt --legacyorformatVersion: 1, but is deprecated for new data. - Existing configurations do not need an immediate rewrite. Use
yamlock migrate --dry-runfirst, then migrate with the default backup or a separate output file when ready. - YAML writes preserve parsed values rather than presentation syntax, so comments, anchors, quoting, tags, and formatting may be normalized. Review the documented YAML rewrite contract before in-place changes.
Install
npm install yamlock@1.0.0