Skip to content

πŸ¦‹ New version release - #13

Merged
brentrager merged 1 commit into
mainfrom
changeset-release/main
Aug 20, 2026
Merged

brentrager merged 1 commit into
mainfrom
changeset-release/main

Conversation

@brentrager

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@smooai/audit@0.4.0

Minor Changes

  • ccc4f4e: Give every language the same emit posture: retry with backoff, and never fail
    silently.
    • Retry on transient failure in Python, Rust, Go, and .NET β€” previously
      TypeScript only. Transport errors and HTTP 5xx are retried with exponential
      backoff; a 4xx is surfaced immediately. The retried POST carries the same
      canonical bytes, since ingest dedupes on the event hash. The defaults now live
      in spec/parity-corpus.json's retryPolicy (3 attempts, 100 ms base,
      doubling) and every language's tests assert their client against it, rather
      than five copies of the same magic numbers.
    • BREAKING (Python): swallow_errors now defaults to False. It defaulted
      to True, so a misconfigured endpoint or an expired token dropped every audit
      event and reported success β€” fail-open on the exact path that carries the
      record. Pass swallow_errors=True to keep the old behaviour; on_error now
      fires whether or not the error is swallowed. (The old docstring also claimed
      this matched the TypeScript client. It never did β€” TS has always thrown.)
    • New: AuditClient.emit_async in Python, running the blocking urllib
      POST off the event loop via asyncio.to_thread.
    • Rust's AuditClientOptions gains max_retries / retry_backoff_ms (both
      Option, None = the shared default) and an AuditClientOptions::new
      constructor. Go's AuditClient gains MaxRetries / RetryBackoff (zero =
      default). .NET's AuditClientOptions gains MaxRetries / RetryBackoffMs.
    • Go's Emit stays synchronous on purpose β€” go client.Emit(ctx, event) is how
      Go does async β€” and now honours context cancellation between retries too.

@brentrager
brentrager merged commit 4926490 into main Aug 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant