Skip to content

feat!: Migrate vue-client-sdk to @launchdarkly/vue-client-sdk v3 - #1853

Draft
joker23 wants to merge 1 commit into
skz/SDK-2904/migrate-vue-sdk-data-saving-mode-examplefrom
skz/sdk-2194/migrate-vue-sdk
Draft

feat!: Migrate vue-client-sdk to @launchdarkly/vue-client-sdk v3#1853
joker23 wants to merge 1 commit into
skz/SDK-2904/migrate-vue-sdk-data-saving-mode-examplefrom
skz/sdk-2194/migrate-vue-sdk

Conversation

@joker23

@joker23 joker23 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

The standalone launchdarkly-vue-client-sdk package is superseded by
@launchdarkly/vue-client-sdk, now living in the js-core monorepo and
built on top of the shared @launchdarkly/js-client-sdk platform layer.

BEGIN_COMMIT_OVERRIDE
feat: Typed variation composables: useBoolVariation, useStringVariation,
useNumberVariation, useJsonVariation (replace the generic useLDFlag)
feat: Variation detail composables for each type (useBoolVariationDetail, etc.)
feat: Provider component API: createLDProvider, createLDProviderWithClient
feat: Provider slots for initialization states (default, initializing, failed)
feat: createClient for programmatic client creation (BYO client pattern)
feat: Multi-environment support via createLDVueInstanceKey
feat: Bootstrap support to eliminate initialization waterfall
feat: startOptions for controlling initialization timeout
feat: Reactive flag keys (MaybeRefOrGetter) on all variation composables
feat: LDVueClient type extending base LDClient with Vue lifecycle helpers
feat: useInitializationStatus replaces useLDReady with richer status object

BREAKING CHANGE: Package renamed from launchdarkly-vue-client-sdk to @launchdarkly/vue-client-sdk.
BREAKING CHANGE: Plugin renamed from LDPlugin to LDVuePlugin; options interface renamed from LDPluginOptions to LDVuePluginOptions.
BREAKING CHANGE: Plugin options field options (LDOptions pass-through) renamed to ldOptions.
BREAKING CHANGE: useLDFlag removed; use useBoolVariation, useStringVariation, useNumberVariation, or useJsonVariation instead.
BREAKING CHANGE: useLDReady removed; use useInitializationStatus which returns a discriminated union { status: 'initializing' | 'complete' | 'timeout' | 'failed' }.
BREAKING CHANGE: Low-level injection keys LD_INIT, LD_READY, LD_CLIENT, LD_FLAG removed; use composables (useLDClient, useInitializationStatus, variation composables) instead.
BREAKING CHANGE: ldInit composable removed; use createLDProviderWithClient with client.start() for deferred initialization.
BREAKING CHANGE: Deprecated user option removed from plugin options; use context instead.
BREAKING CHANGE: Implicit anonymous-user fallback removed; context is now required in LDVuePluginOptions and createLDProvider.
END_COMMIT_OVERRIDE

@github-actions

Copy link
Copy Markdown
Contributor

@launchdarkly/js-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 26360 bytes
Compressed size limit: 29000
Uncompressed size: 129188 bytes

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

@launchdarkly/js-client-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 41502 bytes
Compressed size limit: 44000
Uncompressed size: 224541 bytes

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

@launchdarkly/js-client-sdk size report
This is the brotli compressed size of the ESM build.
Compressed size: 32444 bytes
Compressed size limit: 34000
Uncompressed size: 116232 bytes

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

@launchdarkly/browser size report
This is the brotli compressed size of the ESM build.
Compressed size: 179887 bytes
Compressed size limit: 200000
Uncompressed size: 833430 bytes

@joker23
joker23 force-pushed the skz/sdk-2194/migrate-vue-sdk branch from 250e00b to 611181c Compare August 12, 2026 21:10
@joker23
joker23 force-pushed the skz/sdk-2194/migrate-vue-sdk branch from 611181c to 3381b65 Compare August 12, 2026 21:11
The standalone `launchdarkly-vue-client-sdk` package is superseded by
`@launchdarkly/vue-client-sdk`, now living in the js-core monorepo and
built on top of the shared `@launchdarkly/js-client-sdk` platform layer.

feat: Typed variation composables: useBoolVariation, useStringVariation,
  useNumberVariation, useJsonVariation (replace the generic useLDFlag)
feat: Variation detail composables for each type (useBoolVariationDetail, etc.)
feat: Provider component API: createLDProvider, createLDProviderWithClient
feat: Provider slots for initialization states (default, initializing, failed)
feat: createClient for programmatic client creation (BYO client pattern)
feat: Multi-environment support via createLDVueInstanceKey
feat: Bootstrap support to eliminate initialization waterfall
feat: startOptions for controlling initialization timeout
feat: Reactive flag keys (MaybeRefOrGetter<string>) on all variation composables
feat: LDVueClient type extending base LDClient with Vue lifecycle helpers
feat: useInitializationStatus replaces useLDReady with richer status object

BREAKING CHANGE: Package renamed from launchdarkly-vue-client-sdk to @launchdarkly/vue-client-sdk.
BREAKING CHANGE: Plugin renamed from LDPlugin to LDVuePlugin; options interface renamed from LDPluginOptions to LDVuePluginOptions.
BREAKING CHANGE: Plugin options field `options` (LDOptions pass-through) renamed to `ldOptions`.
BREAKING CHANGE: useLDFlag removed; use useBoolVariation, useStringVariation, useNumberVariation, or useJsonVariation instead.
BREAKING CHANGE: useLDReady removed; use useInitializationStatus which returns a discriminated union { status: 'initializing' | 'complete' | 'timeout' | 'failed' }.
BREAKING CHANGE: Low-level injection keys LD_INIT, LD_READY, LD_CLIENT, LD_FLAG removed; use composables (useLDClient, useInitializationStatus, variation composables) instead.
BREAKING CHANGE: ldInit composable removed; use createLDProviderWithClient with client.start() for deferred initialization.
BREAKING CHANGE: Deprecated user option removed from plugin options; use context instead.
BREAKING CHANGE: Implicit anonymous-user fallback removed; context is now required in LDVuePluginOptions and createLDProvider.
@joker23
joker23 force-pushed the skz/sdk-2194/migrate-vue-sdk branch from 3381b65 to 6ccf5a7 Compare August 13, 2026 15:18
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