Changelog
v3.0.0
- Evaluation analytics: the SDK now automatically records flag evaluations and reports them to Flaggy
- Events are batched, deduplicated, and flushed every 5 seconds or once 100 events are queued
- Analytics never block flag evaluation — failures are swallowed silently
- Browser events are preserved on page unload via navigator.sendBeacon
- Breaking: the evaluation context now requires a mandatory key field identifying the entity
v2.1.0
- Percentage rollouts (0–100) with deterministic MurmurHash3 bucketing
- Prioritized targeting rules evaluated in order, replacing flat segment lists
- Fixed exponential-backoff enforcement and rollout-percentage range validation
- Breaking: removed applicable_segments; endpoint moved from /public/projections to /public/manifest
v2.0.0
- Segment targeting with multiple rule operators (equals, contains, starts_with, and more)
- New onError callback, initialize() method, and getAllFlags() for inspection
- environment config option for production / staging / development scoping
- Dual ESM / CommonJS builds, with exponential backoff, structural validation, and request deduplication
- Breaking: isEnabled() signature changed; getFlag() and clearCache() removed
v1.0.0
- First stable SDK release
- Environment-based flag evaluation with caching and auto-refresh
- Request deduplication and safe defaults for reliable feature delivery