Skip to main content
This page documents @fireweaveai/sdk 2.0.0 → 2.1.0 only: the direct PostHog adapter came out. It is not the current surface.
After 2.1 you still need Migrate 2.1 to 2.3. That cut renames the package to @fireweaveai/server-sdk, removes the OpenFeature providers, removes the extension namespaces, and makes mode required. Do not stop here.
Every breakage below is quoted from the SDK CHANGELOG.md or the Node section of docs/migration.md as they described 2.1.

Version note (from CHANGELOG)

The 2.1.0 work was drafted as 3.0.0 and 3.1.0 and released as a single 2.1.0. Neither 3.x version reached a registry. Those changes shipped in a minor. A consumer pinned ^2.0.0 picked 2.1.0 up automatically and, if they imported @fireweaveai/sdk/posthog, failed to build.

Required — exactly three breakages

CHANGELOG: “Exactly three things break.”

1. @fireweaveai/sdk/posthog no longer resolves

Replace PostHogAdapter with FireweaveRemoteAdapter. Env vars POSTHOG_HOST / POSTHOG_API_KEY become FW_API_URL / FW_PROJECT_API_KEY.
On 2.3 this adapter construction is usually replaced by initFireweave from @fireweaveai/server-sdk. See Migrate 2.1 to 2.3. The new key is a Fireweave project key, not a re-labelled vendor key.

2. posthog-node is no longer a peer dependency

If you use it for analytics, depend on it directly.

3. Type-level: 'posthog' removed from adapter unions

'posthog' is no longer a member of BackendAdapter['name'] or Capabilities['runtime']['backend']. Affects custom adapters declaring name: 'posthog' (use 'other') and exhaustive switches on backend. CHANGELOG also records features.posthogAdapter → features.remoteAdapter.

Removed capability — in-process local evaluation

CHANGELOG:
The vendor adapter’s secret-key mode (background definition polling, onlyEvaluateLocally, staleness detection, waitForLocalDefinitions) has no replacement; caching is fw-server’s concern and both shipped adapters report localEvaluation: false.
2.3 mode: 'local' is a seeded boolean map, not this vendor poller.

Not breaking in 2.1 — removed later

These were deliberately not breaking in 2.1. They are breaking in 2.3: Decision.flagKey, InMemoryAdapterOptions.flags, and features.flags stay. See Migrate 2.1 to 2.3.

Changed — DEFAULT_ALLOWED_HOSTS contents

The export name stayed. Contents now list Fireweave hosts (app-server.fireweave.ai, staging-app-server.fireweave.ai, loopback), not vendor hosts. Code doing allowedHosts: [...DEFAULT_ALLOWED_HOSTS, 'mine.example'] keeps compiling and no longer permits the old endpoints. Intended; verify against your deployment.

What this page does not document

  • Migrating from direct PostHog SDK calls
  • Migrating from another OpenFeature provider (that provider is gone in 2.3)
  • Migrating from @fireweaveai/deploy-sdk
  • The 2.1 → 2.3 cut — that is Migrate 2.1 to 2.3

Next

Migrate 2.1 to 2.3

Package rename, OpenFeature removal, required mode

Node SDK

Current server-sdk surface
Last modified on September 11, 2026