Current Version: 1.0.3-beta.0
This project follows Semantic Versioning and Keep a Changelog format.
Unreleased
Added
Stateful Rule Engine
Event-driven state tracking
State Change Operators
6 new operators for detecting changes
- New
StatefulRuleEngineclass for state tracking and event-driven evaluation - State tracking with previous context comparison
- Event system:
triggered,untriggered,changed,evaluated - Optional evaluation history storage with configurable size limits
- Flexible triggering modes (default: false → true, optional: every change)
- Batch evaluation support with
evaluateBatch()
changed- Detects any value changechangedBy- Detects numeric change by thresholdchangedFrom- Detects change from specific valuechangedTo- Detects change to specific valueincreased- Detects numeric value increasesdecreased- Detects numeric value decreases
- State change metadata tracking in evaluation context
- Pure change rule detection for optimized triggering
- State change classification (initial, triggered, untriggered, etc.)
- Event listener management with error handling
- Rule-specific state clearing and history access
Changed
- Updated main export to include
StatefulRuleEngineandSTATE_OPERATOR_NAMES - Enhanced operator constants with state change definitions
- Improved documentation with comprehensive stateful examples
[1.0.2] - 2025-08-20
Added
New String Length Validation Helpersvalidation.minLength(path, minLength)- Validates minimum string lengthvalidation.maxLength(path, maxLength)- Validates maximum string lengthvalidation.lengthRange(path, min, max)- Validates string length rangevalidation.exactLength(path, length)- Validates exact string length
- Claude Code integration context (
CLAUDE.md) - Comprehensive test coverage expansion with 382+ new test cases
- Enhanced basic core functionality tests
- Expanded logical operator test coverage
- Comprehensive string operator validation
Changed
- Improved CI/CD pipeline with Claude Code Review workflow
- Enhanced test suite organization with better edge case coverage:
- Empty string handling
- Boundary condition testing
- Very long string validation
- Comprehensive string length scenarios
Fixed
- Various code quality improvements
- Better error handling and validation coverage
[1.0.0] - 2025-08-12
🎉 First stable release of Rule Engine JS
Core Features
Engine- High-performance rule evaluation with caching
- Dynamic field comparison support
- Built-in security protections
- TypeScript definitions
- Zero external dependencies
Performance
- LRU caching for expressions and path resolution
- Performance metrics tracking
- Bundle size < 25KB gzipped
- Multiple output formats (UMD, ESM, CommonJS)
Developer Experience
- Rule helpers for clean, readable syntax
- Comprehensive error handling with detailed context
- Extensive test coverage (>90%)
- Complete TypeScript support
- Field comparison helpers for dynamic rules
Security
- Prototype pollution protection
- Function access prevention
- Safe path resolution
- Configurable security settings
Build System
- Optimized Rollup configuration
- Multiple output formats
- Bundle size analysis
- Quality checks integration
[0.9.0] - Development Phase
Added
- Core engine architecture
- Basic operator implementations
- Initial testing framework
Changed
- Refined API design based on testing
Fixed
- Various bug fixes during development
Version History
v1.0.2 - String Validation
v1.0.2 - String Validation
Added string length validation helpers and expanded test coverage
v1.0.0 - Stable Release
v1.0.0 - Stable Release
First stable release with complete feature set, comprehensive operators, and production-ready performance
v0.9.x - Development
v0.9.x - Development
Development and testing phases, API refinement
v0.1.0 - Initial
v0.1.0 - Initial
Initial project setup and architecture
v1.0.0 Highlights
Key Features:- Zero Dependencies: Lightweight with no external dependencies
- High Performance: Intelligent caching with LRU eviction
- Type Safe: Full TypeScript support with comprehensive type definitions
- Secure: Built-in protection against common security vulnerabilities
- Flexible: Support for dynamic field comparison and custom operators
- Developer Friendly: Clean API with helper functions for rule construction
- User access control and permissions
- Business rule validation
- Form validation with dynamic dependencies
- Content filtering and recommendations
- Dynamic pricing and discount logic
- Workflow and approval processes
Migration Guides
- v1.0.0 → v1.0.2
- v1.0.2 → Unreleased
No breaking changesNew string validation helpers available:
Contributing to Changelog
When contributing, please follow these guidelines:-
Add entries under
[Unreleased]for new changes -
Use standard categories:
Added- New featuresChanged- Changes in existing functionalityDeprecated- Soon-to-be removed featuresRemoved- Removed featuresFixed- Bug fixesSecurity- Vulnerability fixes
-
Format:
- Brief description of change (#PR-number) - Move entries to dated release when releasing
