Skip to content

v1.0.0: Production Release

Latest

Choose a tag to compare

@vnykmshr vnykmshr released this 21 Nov 10:02

πŸŽ‰ First Production Release

This marks the first production-ready release of rollout-bucket - a deterministic bucketing library for feature flags and A/B testing.

✨ Features

  • Deterministic bucketing using MurmurHash3 for consistent user assignment
  • Feature isolation - different features produce independent distributions
  • Multi-variant testing with TypeScript generics support
  • Statistically validated uniform distribution (chi-square tested)
  • Zero runtime dependencies (only murmur-hash)
  • Dual module support (ESM + CommonJS)
  • 100% test coverage with comprehensive edge case handling
  • TypeScript-first with bundled type definitions

πŸ“¦ API

import { RolloutBucket } from 'rollout-bucket';

const rollout = new RolloutBucket();

// Percentage-based feature flags
if (rollout.isEnabled('new-ui', userId, 25)) {
  // Enabled for 25% of users
}

// A/B testing
const variant = rollout.getVariant('checkout-flow', userId, [
  { name: 'control', weight: 50 },
  { name: 'variant-a', weight: 30 },
  { name: 'variant-b', weight: 20 },
]);

πŸ“Š Performance

  • Hash computation: ~50-100ns per call
  • Bundle size: < 5KB minified
  • Memory: Stateless (zero allocation)

πŸ”§ Installation

npm install rollout-bucket

πŸ“š Documentation

βœ… Quality Metrics

  • Test Coverage: 100% statements, 90.9% branches
  • CI Status: Passing on Node.js 18.x, 20.x, 22.x
  • Security: No vulnerabilities
  • Code Quality: Grade A

πŸ™ Credits

Built with ❀️ by @vnykmshr


Full Changelog: https://github.com/vnykmshr/rollout-bucket/blob/main/docs/CHANGELOG.md