All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
For maintainers creating a new release:
- Update version in
package.json(follow semver) - Update this CHANGELOG.md with version and date
- Ensure all tests pass:
npm test - Verify coverage meets threshold:
npm run coverage - Run linting:
npm run lint - Clean build:
npm run build - Review dist/ output for correctness
- Commit changes:
chore(release): vX.Y.Z - Create git tag:
git tag vX.Y.Z - Push commits and tags:
git push && git push --tags - Publish to npm:
npm publish(with 2FA) - Create GitHub release with changelog notes
- Verify package on npm:
npm info hash-orbit
1.0.0 - 2025-11-21
- Consistent hashing ring implementation with virtual nodes
add()method to add nodes to the ringremove()method to remove nodes with minimal redistributionget()method for O(log n) key lookup using binary searchgetN()method for replica selection (replication support)sizeandnodesgetters for introspectiontoJSON()andfromJSON()methods for serialization- Input validation for node identifiers and keys
- TypeScript support with full type definitions and strict mode
- 100% test coverage with 42 comprehensive tests
- Fast test suite (<500ms execution time)
- GitHub Actions CI workflow with coverage reporting
- Pre-commit hooks with husky and lint-staged
- Comprehensive documentation and working examples
- Production-ready codebase with minimal dependencies
- Optimized test suite (99% faster, removed bloat)
- Streamlined README (52% shorter, more practical)
- Deduplicated code and removed redundant comments
- Improved code maintainability and consistency
- Codecov integration (coverage still verified locally via vitest)
0.1.0 - 2025-11-20
- Initial development version
- Core consistent hashing algorithm
- Binary search optimization
- MurmurHash integration for key hashing
- Full TypeScript support with strict mode
- Complete test suite with 34 tests
- ESLint and Prettier configuration
- CI/CD with GitHub Actions
- MIT License