Skip to content

chore(release): version package - #44

Merged
multiplehats merged 1 commit into
mainfrom
changeset-release/main
Sep 28, 2026
Merged

multiplehats merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

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

trakoo@2.0.0

Major Changes

  • Move the SDK-backed providers into their own packages so installing one provider never involves another provider's SDK (#43)

    Core declared every provider SDK as an optional peer. npm checks an optional peer whenever that package is already installed, so an OpenPanel user who had posthog-node@4 for unrelated reasons could not install trakoo at all (ERESOLVE ... peerOptional posthog-node@"^5.9.0"). The PostHog config types re-exported from trakoo/client and trakoo/server also failed to resolve under skipLibCheck: false unless PostHog was installed.

    Core now declares no provider SDK. Install the adapter for each SDK-backed provider next to its SDK:

    Provider Before After
    PostHog trakoo/providers/client, trakoo/providers/server, trakoo/client, trakoo/server @trakoo/posthog/client, @trakoo/posthog/server
    OpenPanel trakoo/providers/client, trakoo/providers/server @trakoo/openpanel/client, @trakoo/openpanel/server
    Bento (server) trakoo/providers/server @trakoo/bento/server
    EmitKit trakoo/providers/server @trakoo/emitkit/server

    The provider config types moved with their providers: PostHogClientConfig, PostHogConfig, PostHogOptions, OpenPanelClientConfig, OpenPanelServerConfig, the OpenPanel delivery-failure types, BentoServerConfig, BentoAnalyticsOptions and EmitKitServerConfig. Bento's browser provider, Pirsch, Visitors and the proxy need no SDK and stay in trakoo/providers/*. BaseAnalyticsProvider is now also exported from the root trakoo entry.

Patch Changes

  • Pirsch's synthetic identify and session-reset hits now send the user agent trakoo instead of stacksee-analytics. (#43)

@trakoo/bento@1.0.0

Major Changes

  • First release of the Bento server provider as its own package, moved out of trakoo core. Import BentoServerProvider from @trakoo/bento/server; Bento's browser provider stays in trakoo/providers/client. Supports @bentonow/bento-node-sdk 0.2 and 2.x. (#43)

    Changes from the trakoo 1.x provider:

    • identify() updates the subscriber's fields with $update_fields instead of sending $subscribe, which subscribed the person to marketing email and re-ran subscribe automations on every call. Call Bento's V1.addSubscriber() directly to subscribe someone.
    • track() sends the event time as Bento's event date.
    • An event that Bento accepts without queueing is logged as a failure instead of as tracked.

Patch Changes

@trakoo/emitkit@1.0.0

Major Changes

  • First release of the EmitKit provider as its own package, moved out of trakoo core. Import EmitKitServerProvider from @trakoo/emitkit/server. (#43)

    Changes from the trakoo 1.x provider:

    • Requires @emitkit/js 3.
    • The visitor's IP address is removed from the device and server metadata, so it no longer appears in the EmitKit feed and its notifications.
    • A non-string email trait is no longer sent as an alias, which EmitKit rejected.
    • Duplicate tags are removed.
    • Requests time out after 5 seconds by default, as documented, instead of the SDK's 30 seconds, and the SDK's retries are turned off so a call never waits longer than that.
    • Events are labeled source: "trakoo" instead of "stacksee-analytics".
    • Failure logs include the EmitKit error code, HTTP status and request ID.

Patch Changes

@trakoo/openpanel@1.0.0

Major Changes

  • First release of the OpenPanel providers as their own package, moved out of trakoo core. Import OpenPanelClientProvider from @trakoo/openpanel/client and OpenPanelServerProvider from @trakoo/openpanel/server. (#43)

    Changes from the trakoo 1.x providers:

    • A caller IP or user agent that cannot be sent as an HTTP header, such as one containing a line break, is skipped instead of making the server event retry and then fail as a network error. The proxy passes a browser-supplied device.userAgent through when the request has no user agent header, so a client could trigger this. A device.ip that cannot be sent is removed from the event's device properties, as a valid one already was, instead of being stored there.
    • The server provider passes only its documented options to the SDK. An untyped waitForProfile or disabled could previously queue events on the shared client and attribute one request's events to another user.
    • Both providers warn once at initialization when the installed SDK's transport is not recognized, instead of silently losing delivery-failure reporting and caller attribution.

Patch Changes

@trakoo/posthog@1.0.0

Major Changes

  • First release of the PostHog providers as their own package, moved out of trakoo core. Import PostHogClientProvider from @trakoo/posthog/client and PostHogServerProvider from @trakoo/posthog/server. (#43)

    Changes from the trakoo 1.x providers:

    • Server events without a user no longer share one "anonymous" person. Each gets its own distinct ID and $process_person_profile: false, as PostHog recommends, so anonymous traffic stops accumulating on a single person and unique-user counts change.
    • Server events forward the visitor's IP and user agent (context.server, falling back to context.device) as $ip and $raw_user_agent, the page as $current_url (page.url, falling back to page.path), and the campaign as utm_source, utm_medium and utm_campaign. GeoIP runs on events that carry a visitor IP unless disableGeoip is set. The IP is no longer stored inside the device property.
    • Server events carry trakoo's event time as the PostHog event timestamp instead of a timestamp property.
    • The server provider's default host is PostHog's US ingestion host, https://us.i.posthog.com, instead of the legacy https://app.posthog.com. EU projects still set host.
    • Browser events keep posthog-js's own full, current $current_url instead of replacing it with the path from the last pageView().

Patch Changes

@vercel

vercel Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
trakoo Ready Ready Preview Sep 28, 2026 12:55pm UTC

@multiplehats
multiplehats merged commit 5d9a389 into main Sep 28, 2026
2 checks passed

This branch was successfully deployed

1 active deployment
Preview — 36e681be Deployed Sep 28, 2026 by vercel[bot]
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