v0.2.0
What's Changed
New Contributors
Full Changelog: v0.1.0...v0.2.0
[0.2.0] - 2026-06-13
Added
- Deterministic minimal front matter rendering, typed render options, and
update/write option passthrough. - Whole-value and embedded template-placeholder parsing modes.
- Basic, wide, and custom path-text punctuation normalization profiles.
- Configurable JSON string/file formatting and compact output.
- Line-aware JSONL loading and recoverable keyed object-map loading.
- Configurable timestamp precision and UTC suffix style.
- Front matter parser option passthrough for document fingerprints.
ledgercore.__version__exposed at runtime via a build-generated, gitignored
ledgercore/_version.py(hatch-vcs build hook).
Changed
- Omitted front matter render options retain existing PyYAML output; explicit
scalar_style="minimal"now performs deterministic minimal rendering. - Aware injected timestamps are normalized to UTC; naive values are rejected.
Fixed
- Error subclasses now expose their documented stable
codeattributes
(STORAGE_ERROR,ATOMIC_WRITE_ERROR,FRONTMATTER_ERROR,
JSON_STORE_ERROR,YAML_STORE_ERROR,PATH_VALIDATION_ERROR,
ID_FORMAT_ERROR) instead of inheriting the base code. - Minimal front matter rendering now quotes YAML plain-scalar hazards so values
such as- item,*alias,~, or2026-06-13round-trip instead of
emitting invalid YAML or changing type. - JSON and YAML loaders with
missing="empty"no longer mask non-missing
I/O errors such as reading a directory; only absent files return empty. LedgerIdFormatandNumericIdFormatconsistently reject zero, negative,
and boolean IDs across format, parse, and validity checks.atomic_create_text()now loopsos.write()to complete writes even when
the OS performs a partial write.