Skip to content

Releases

FastConfig 0.1.1 — Security & Concurrency Fixes

Choose a tag to compare

@andrestubbe andrestubbe released this 11 Oct 11:29

FastConfig 0.1.1 Release Notes

Security & Reliability Hardening

  • P0: setSecret() fails hard with IllegalStateException on DPAPI encryption failure to guarantee zero plaintext secret leakage.
  • P1: Atomic file writes now enforce FileChannel.force(true) (fsync) and gracefully fallback to REPLACE_EXISTING if ATOMIC_MOVE is unsupported across filesystems.
  • P1: Unique random temporary files prevent race conditions during concurrent writes.
  • P1: load() preserves memory state until the source file is completely parsed.

API Improvements & Documentation

  • P2: getBoolean() enforces strict switch mapping with clean default fallback on invalid values.
  • P2: getEnum() is case-insensitive and normalizes hyphens (- to _).
  • New inspection methods: getAll(section) and getSections().
  • Added comprehensive /docs directory: REFERENCE.md, CHANGELOG.md, PHILOSOPHY.md.

FastConfig 0.1.0

Choose a tag to compare

@andrestubbe andrestubbe released this 11 Oct 11:03

FastConfig 0.1.0 Initial Release

  • Universal Config Engine: Section-aware dot navigation (e.g. audio.volume maps to [Audio] volume).
  • DPAPI Secret Protection: setSecret / getSecret transparently encrypts API keys and secrets via Windows DPAPI and FastKeychain.
  • Atomic Persistence: Atomic write-and-replace moves (ATOMIC_MOVE) to protect against corruption.
  • Thread-Safe Concurrency: Backed by ReentrantReadWriteLock for high-throughput reads.
  • FastFileFormat: Zero-bloat, clean human-readable .format syntax.