Skip to content

chore: release#21

Merged
deepso7 merged 1 commit into
mainfrom
changeset-release/main
Jul 11, 2026
Merged

chore: release#21
deepso7 merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 3, 2026

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

trashlytics@0.4.0

Minor Changes

  • 1d00282: Redesign the SDK: scoped Effect core, non-blocking track, Standard Schema support. Breaking changes:

    • Delivery moved to a background fiber; track() only validates and enqueues, never waits on the sink
    • trashlytics/effect: make replaces createTracker and returns a scoped Effect; closing the scope stops the worker and flushes remaining events (replaces shutdown)
    • Root entry: close() replaces shutdown(), trackers support await using (Symbol.asyncDispose), and pending events auto-flush on page hide/unload in browsers (flushOnHide)
    • event() accepts Effect schemas, Schema.Struct fields, any Standard Schema v1 validator (zod/valibot/arktype), or no schema for payload-less events
    • Unified tagged errors: EventValidationError, UnknownEventError, TrackerClosedError, QueueFullError, SinkError (replaces SinkDeliveryError)
    • New options: context (meta enrichment), retry.jitter, deliveryTimeout (bounds each sink call, default 30s), maxQueueSize (renamed from bufferSize); retries renamed to retry
    • httpSink defaults to keepalive: true; new beaconSink for browsers

Summary by cubic

Release trashlytics 0.4.0 with a redesigned SDK that makes tracking non-blocking and adds a scoped Effect core. Includes breaking API changes, Standard Schema support, and a new browser beaconSink.

  • New Features

    • Scoped Effect core (trashlytics/effect make) with auto-flush on page hide/unload and await using support.
    • Unified tagged errors for validation, queue, sink, and lifecycle failures.
    • Sinks: httpSink now defaults to keepalive: true; added beaconSink for browsers.
  • Migration

    • Replace createTracker with make in trashlytics/effect; close the scope to stop the worker and flush; root now uses close() instead of shutdown.
    • Do not rely on track() to block for delivery; remove any waits tied to sink calls.
    • Options: rename retries -> retry, bufferSize -> maxQueueSize; add deliveryTimeout, retry.jitter, and optional context.
    • Update event() usage to the new validator inputs or omit it for payload-less events.

Written for commit ec1f984. Summary will update on new commits.

Review in cubic

@deepso7 deepso7 merged commit 491f083 into main Jul 11, 2026
1 check passed
@deepso7 deepso7 deleted the changeset-release/main branch July 11, 2026 17:03
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