Changelog
Every release of Basalt Field, newest first. Versions follow semver; a minor release never removes a field.
4.4.7
Added
- An admin endpoint that reports sink pool lag without scraping the metrics port.
Fixed
- Retention skipped the newest log segment when the clock moved backwards.
4.4.6
Added
- A `--dry-run` mode for `basalt compact`.
Fixed
- The admin port ignored the bind address and always listened on all interfaces.
- `basalt status` exited 0 even when the sink pool was stalled.
- Reloading on SIGHUP leaked one file descriptor per topic.
Changed
- Startup recovery is now parallel across topics; on a 16 core box it is roughly 6 times faster.
4.4.5
Added
- Per-topic retention overrides, so one topic can keep events longer than the global default.
Fixed
- The admin port ignored the bind address and always listened on all interfaces.
- The partition planner could double count an event after a crash between fsync and index update.
4.4.4
Added
- Per-topic retention overrides, so one topic can keep events longer than the global default.
Fixed
- Retention skipped the newest log segment when the clock moved backwards.
4.4.3
Added
- Optional zstd compression for the log segment, off by default.
Changed
- `basalt status` output is now stable enough to parse; the old format is still available behind `--legacy`.
4.4.2
Added
- A `--dry-run` mode for `basalt compact`.
4.4.1
Fixed
- A 0-byte log segment left behind by an interrupted write made startup fail instead of being discarded.
- Retention skipped the newest log segment when the clock moved backwards.
- The admin port ignored the bind address and always listened on all interfaces.
4.4.0
Added
- A `--dry-run` mode for `basalt compact`.
- Range requests on the read API, which makes partial replays cheap.
Fixed
- `basalt status` exited 0 even when the partition planner was stalled.
- A 0-byte log segment left behind by an interrupted write made startup fail instead of being discarded.
- Retention skipped the newest log segment when the clock moved backwards.