Skip to content

v0.2.0

Choose a tag to compare

@holgern holgern released this 13 Jun 11:14
· 43 commits to main since this release

What's Changed

  • Feature/ledgercore 0.2 compatibility by @holgern in #1

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 code attributes
    (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, ~, or 2026-06-13 round-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.
  • LedgerIdFormat and NumericIdFormat consistently reject zero, negative,
    and boolean IDs across format, parse, and validity checks.
  • atomic_create_text() now loops os.write() to complete writes even when
    the OS performs a partial write.