Docs
Core Concepts
Version Pinning

Version Pinning

Version pinning prevents announcing functionality before the user has the code.

Manifest setup

featuredrop.manifest.ts
import type { FeatureManifest } from 'featuredrop'
 
export const manifest: FeatureManifest = [
  {
    id: 'new-dashboard',
    label: 'Dashboard analytics refresh',
    releasedAt: '2026-03-01T00:00:00Z',
    showNewUntil: '2026-04-01T00:00:00Z',
    version: {
      introduced: '2.4.0',
      showNewUntil: '2.6.0'
    }
  }
]

Provider setup

app/providers.tsx
import { FeatureDropProvider } from 'featuredrop/react'
 
const appVersion = process.env.NEXT_PUBLIC_APP_VERSION ?? '0.0.0'
 
<FeatureDropProvider manifest={manifest} storage={storage} appVersion={appVersion}>
  {children}
</FeatureDropProvider>

Behavior

Client app versionintroduced: 2.4.0Result
2.3.9not metHidden
2.4.0metEligible
2.5.3metEligible

If version.showNewUntil is set, the entry stops being "new" once appVersion >= showNewUntil.

⚠️

Use valid semver (x.y.z). Invalid versions disable deterministic gating.