From e060ba94bbb2d55eec75fef607c9b1d87ccb00d3 Mon Sep 17 00:00:00 2001 From: Justin <9146678+brickfrog@users.noreply.github.com> Date: Mon, 1 Jun 2026 09:30:06 -0400 Subject: [PATCH] chore(release): v0.12.0 --- CHANGELOG.md | 8 ++++++++ moon.mod | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ff9aa1..c7f10e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.12.0] - 2026-06-01 + +A native, production-grade file subscriber. Additive — no changes to existing APIs. + +### Added + +- `@moontrace/file` native buffered file subscriber (#60): a synchronous, non-blocking subscriber that enqueues into a bounded queue (drops + counts on overflow, never blocks the logging call site) paired with an async worker that drains in bounded batches and yields cooperatively. Supports append, size-based rotation, retention cleanup, and optional gzip of rotated files (via `moonbitlang/async/gzip`). Explicit async `flush()` / `shutdown()` that always terminate (falling back to a direct drain if the worker has stopped) and expose `dropped()` / `written()` counts. Native-only — non-native targets fail loudly with a clear error rather than silently dropping. See `docs/file.md`. + ## [0.11.0] - 2026-06-01 Composable output-side layers: field redaction, sampling, and a flamegraph exporter. All additive — no behavior changes to existing APIs. diff --git a/moon.mod b/moon.mod index cd4a654..5e75230 100644 --- a/moon.mod +++ b/moon.mod @@ -1,6 +1,6 @@ name = "brickfrog/moontrace" -version = "0.11.0" +version = "0.12.0" import { "moonbitlang/async@0.19.0",