# Changelog

## [v2.0.1](https://github.com/cm45t3r/candlestick/tree/v2.0.1) (2026-06-17)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/v2.0.0...v2.0.1)

**Bug fixes:**

- fix(package): scope `./cli` export to `"node"` condition so bundlers (webpack/Bundlephobia) skip the Node-only CLI subpath instead of failing on `fs`/`path` imports.

**Maintenance:**

- chore(ci): bump `actions/checkout` from v4 to v5 to eliminate Node.js 20 deprecation warnings on GitHub Actions runners.

## [v2.0.0](https://github.com/cm45t3r/candlestick/tree/v2.0.0) (2026-06-17)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/v1.2.0...v2.0.0)

**Implemented enhancements:**

- perf\(patternChain\): precomputeCandleProps called N\_patterns+1 times per run [\#80](https://github.com/cm45t3r/candlestick/issues/80)
- refactor\(plugins\): module-level singleton Map leaks state across tests and process lifetime [\#79](https://github.com/cm45t3r/candlestick/issues/79)
- refactor\(utils\): precomputeCandleProps duplicates logic from utility functions [\#76](https://github.com/cm45t3r/candlestick/issues/76)
- perf\(streaming\): buffer.concat\(\) in hot loop creates unnecessary allocations [\#75](https://github.com/cm45t3r/candlestick/issues/75)

**Fixed bugs:**

- bug\(utils\): findPattern relies on Function.length for arity, breaks with default parameters [\#87](https://github.com/cm45t3r/candlestick/issues/87)
- bug\(streaming\): processLargeDataset silently discards caller's onMatch callback [\#86](https://github.com/cm45t3r/candlestick/issues/86)
- bug\(utils\): precomputeCandleProps silently produces NaN for malformed candle fields [\#85](https://github.com/cm45t3r/candlestick/issues/85)
- bug\(utils\): ensurePrecomputed false-positive when input data has a bodyLen field [\#84](https://github.com/cm45t3r/candlestick/issues/84)
- bug\(streaming\): processLargeDataset loses buffered data and skips final progress callback on error [\#83](https://github.com/cm45t3r/candlestick/issues/83)
- bug\(streaming\): chunkSize \<= 0 causes infinite loop in process\(\) [\#82](https://github.com/cm45t3r/candlestick/issues/82)
- bug\(streaming\): onMatch callback throw corrupts stream state permanently [\#81](https://github.com/cm45t3r/candlestick/issues/81)
- bug\(streaming\): empty patternFns causes maxPatternSize = -Infinity [\#74](https://github.com/cm45t3r/candlestick/issues/74)
- isEngulfed with faulty equality logic [\#60](https://github.com/cm45t3r/candlestick/issues/60)

**Closed issues:**

- chore\(security\): fix moderate vulnerability in brace-expansion \(transitive via eslint\) [\#78](https://github.com/cm45t3r/candlestick/issues/78)
- chore\(deps\): pin devDependencies to explicit semver ranges instead of "latest" [\#77](https://github.com/cm45t3r/candlestick/issues/77)

**Merged pull requests:**

- chore\(deps\): bump js-yaml from 4.1.1 to 4.2.0 [\#90](https://github.com/cm45t3r/candlestick/pull/90) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump prettier from 3.8.3 to 3.8.4 [\#89](https://github.com/cm45t3r/candlestick/pull/89) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump eslint from 10.4.1 to 10.5.0 [\#88](https://github.com/cm45t3r/candlestick/pull/88) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump prettier from 3.6.2 to 3.8.2 [\#66](https://github.com/cm45t3r/candlestick/pull/66) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump eslint from 9.38.0 to 10.2.0 [\#65](https://github.com/cm45t3r/candlestick/pull/65) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump @eslint/eslintrc from 3.3.1 to 3.3.5 [\#64](https://github.com/cm45t3r/candlestick/pull/64) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump fast-check from 4.3.0 to 4.6.0 [\#63](https://github.com/cm45t3r/candlestick/pull/63) ([dependabot[bot]](https://github.com/apps/dependabot))

## [v1.2.0](https://github.com/cm45t3r/candlestick/tree/v1.2.0) (2025-10-18)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/v1.1.0...v1.2.0)

**Merged pull requests:**

- chore\(actions\): bump actions/stale from 9 to 10 [\#36](https://github.com/cm45t3r/candlestick/pull/36) ([dependabot[bot]](https://github.com/apps/dependabot))

## [v1.1.0](https://github.com/cm45t3r/candlestick/tree/v1.1.0) (2025-10-17)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/v1.0.2...v1.1.0)

**Merged pull requests:**

- chore\(deps\): bump @eslint/js from 9.32.0 to 9.33.0 [\#27](https://github.com/cm45t3r/candlestick/pull/27) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): bump eslint from 9.31.0 to 9.32.0 [\#25](https://github.com/cm45t3r/candlestick/pull/25) ([dependabot[bot]](https://github.com/apps/dependabot))

## [v1.0.2](https://github.com/cm45t3r/candlestick/tree/v1.0.2) (2025-07-25)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/v1.0.1...v1.0.2)

**Merged pull requests:**

- chore\(actions\): bump actions/first-interaction from 1 to 2 [\#23](https://github.com/cm45t3r/candlestick/pull/23) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(actions\): bump actions/checkout from 3 to 4 [\#22](https://github.com/cm45t3r/candlestick/pull/22) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(actions\): bump actions/setup-node from 3 to 4 [\#21](https://github.com/cm45t3r/candlestick/pull/21) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(actions\): bump heinrichreimer/github-changelog-generator-action from 2.3 to 2.4 [\#20](https://github.com/cm45t3r/candlestick/pull/20) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(actions\): bump github/codeql-action from 2 to 3 [\#19](https://github.com/cm45t3r/candlestick/pull/19) ([dependabot[bot]](https://github.com/apps/dependabot))

## [v1.0.1](https://github.com/cm45t3r/candlestick/tree/v1.0.1) (2025-07-24)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/v1.0.0...v1.0.1)

## [v1.0.0](https://github.com/cm45t3r/candlestick/tree/v1.0.0) (2025-07-24)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/0.0.7...v1.0.0)

**Implemented enhancements:**

- Should detect Doji patterns. [\#11](https://github.com/cm45t3r/candlestick/issues/11)
- Cannot chain the patterns [\#2](https://github.com/cm45t3r/candlestick/issues/2)

## [0.0.7](https://github.com/cm45t3r/candlestick/tree/0.0.7) (2024-04-02)

[Full Changelog](https://github.com/cm45t3r/candlestick/compare/a8cff9de972b7541edcd76156d8d3b43c896813b...0.0.7)

**Fixed bugs:**

- Some Patterns return undefined [\#12](https://github.com/cm45t3r/candlestick/issues/12)
- Merge Conflicts in Your Package.json [\#5](https://github.com/cm45t3r/candlestick/issues/5)
- isEngulfed function [\#3](https://github.com/cm45t3r/candlestick/issues/3)
- Non installation fix & possible script error on test? [\#1](https://github.com/cm45t3r/candlestick/issues/1)

**Merged pull requests:**

- chore\(deps\): bump glob-parent from 5.1.1 to 5.1.2 [\#8](https://github.com/cm45t3r/candlestick/pull/8) ([dependabot[bot]](https://github.com/apps/dependabot))
- \[Snyk\] Fix for 1 vulnerable dependencies [\#4](https://github.com/cm45t3r/candlestick/pull/4) ([snyk-bot](https://github.com/snyk-bot))



\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
