Changelog

Release history and version notes.

v0.1.0
Initial release of @Marz annotationSupport for boolean, int, long, double, String, and JSON (List/Map/POJO) fieldsFile, classpath, HTTP, and platform config sourcesWatchService-based change detection with CRC32 safety-netSpring Boot 3.x auto-configuration

MARZ 0.1.0

The first public release of the MARZ annotation library.

Features

  • @Marz annotation for runtime field-level configuration hot-swap
  • Supported types: boolean, int, long, double, String, plus List, Map, and custom POJOs via JSON
  • Config sources: file://, classpath:, http(s)://, and platform://marz
  • File formats: YAML, JSON, .properties
  • Event-driven change detection via OS-level WatchService (inotify/kqueue), with a periodic CRC32 safety-net poll for edge cases (NFS, macOS kqueue delays)
  • HTTP polling with conditional GET (ETag) and circuit-breaker backoff
  • Reverse-index registry for targeted in-memory swaps
  • Spring Boot 3.x auto-configuration starter
  • Optional MARZ Platform agent: WebSocket connection, heartbeat reporting, RBAC approval (requiresApproval), and sensitive-value masking (sensitive)
  • Thread-safe via fail-fast volatile field enforcement

Requirements

  • Java 17+
  • Spring Boot 3.x