# Public Changelog

All notable changes to `@run-js/expressions` will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.4.1] - 2026-10-28
### Changed
- 100% test coverage

## [2.4.0] - 2026-10-28
### Changed
- Parser regular expressions run in linear time (ReDoS safe)
- **Breaking:** `NaN` and `Infinity` are rejected: the builder throws, parsing and stringifying fail
### Removed
- **Breaking:** deprecated `useSelfAsValueConverter()` and the boolean `combineExpression` overload; use `CombineExpressionFlags`
- **Breaking:** conversion type `'finiteNumber'`; `'number'` is finite only

## [2.3.0] - 2026-10-23
### Added
- `equals`, `notEquals` and the comparisons accept a `number` or `Date` on the left (`lessThan(0, 0)`); an empty string or `0` on the left is no longer rejected
### Changed
- **Breaking:** `ConstructorClass` is `new () => IExpressionParser` instead of `Function`
- **Breaking:** `ExpressionType` and `CombineExpressionFlags` members are PascalCase (`ExpressionType.Equals`, `CombineExpressionFlags.SkipOverwrite`); their values are unchanged
### Removed
- **Breaking:** deprecated `OrderByDirection` and the builder overloads using it; use `CollectionOrderDirection` (`'asc'` / `'desc'`)

## [2.2.1] - 2026-10-13
### Added
- minor grouping fixes with NOT

## [2.2.0] - 2026-10-13
### Added
- Regular Expression support

## [2.1.0] - 2026-02-26
### Added
- Dual package support (ESM + CommonJS)

## [2.0.5] - 2026-02-26
### Added
- Interactive browser demo page (hosted at expressions-demo.run-js.com)

## [2.0.3] - 2026-02-25
### Changed
- README rewrite with full per-dialect documentation

## [2.0.2] - 2026-02-25
### Changed
- Project homepage changed to `expressions.run-js.com`
- Updated project metadata and contact information

## [2.0.0] - 2025-10-01
### Added
- Upgraded to v2.0.0
- MsSql dialect support
- Extended dialect configuration

## [1.1.0] - 2025-06-01
### Added
- TypeScript dialect support
- Expression builder enhancements
- Documentation updates
## [1.0.0] - 2025-01-01
### Added
- Upgraded to v1.0.0
- LinqToQueryString dialect
- MySql dialect
- TypeScript dialect (partial)
- Expression builder
- 100% test coverage
- Full documentation

## [0.5.0] - 2024-06-01
### Added
- Initial release
- Expression parser and converter
- LinqToQueryString support
- MySql support
