Repository navigation
Releases
Releases · andrestubbe/FastConfig
FastConfig 0.1.1 — Security & Concurrency Fixes
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
FastConfig 0.1.0 Initial Release
- Universal Config Engine: Section-aware dot navigation (e.g.
audio.volumemaps to[Audio] volume). - DPAPI Secret Protection:
setSecret/getSecrettransparently 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
ReentrantReadWriteLockfor high-throughput reads. - FastFileFormat: Zero-bloat, clean human-readable
.formatsyntax.