diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fa1929b..4d14602c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.1.5] - 2026-05-23 +## [0.2.0] - 2026-05-23 ### Fixed - `HistoricalVolatility::update` no longer substitutes a `0.0` log-return on @@ -249,8 +249,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 optional Binance live feed. - Bindings for Python, Node.js, and WebAssembly. -[Unreleased]: https://github.com/kingchenc/wickra/compare/v0.1.5...HEAD -[0.1.5]: https://github.com/kingchenc/wickra/compare/v0.1.4...v0.1.5 +[Unreleased]: https://github.com/kingchenc/wickra/compare/v0.2.0...HEAD +[0.2.0]: https://github.com/kingchenc/wickra/compare/v0.1.4...v0.2.0 [0.1.4]: https://github.com/kingchenc/wickra/compare/v0.1.3...v0.1.4 [0.1.3]: https://github.com/kingchenc/wickra/compare/v0.1.2...v0.1.3 [0.1.2]: https://github.com/kingchenc/wickra/compare/v0.1.1...v0.1.2 diff --git a/Cargo.lock b/Cargo.lock index 526bb650..a678568e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1941,7 +1941,7 @@ dependencies = [ [[package]] name = "wickra" -version = "0.1.5" +version = "0.2.0" dependencies = [ "approx", "criterion", @@ -1952,7 +1952,7 @@ dependencies = [ [[package]] name = "wickra-core" -version = "0.1.5" +version = "0.2.0" dependencies = [ "approx", "proptest", @@ -1962,7 +1962,7 @@ dependencies = [ [[package]] name = "wickra-data" -version = "0.1.5" +version = "0.2.0" dependencies = [ "approx", "csv", @@ -1989,7 +1989,7 @@ dependencies = [ [[package]] name = "wickra-node" -version = "0.1.5" +version = "0.2.0" dependencies = [ "napi", "napi-build", @@ -1999,7 +1999,7 @@ dependencies = [ [[package]] name = "wickra-python" -version = "0.1.5" +version = "0.2.0" dependencies = [ "numpy", "pyo3", @@ -2008,7 +2008,7 @@ dependencies = [ [[package]] name = "wickra-wasm" -version = "0.1.5" +version = "0.2.0" dependencies = [ "console_error_panic_hook", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index 56f38f5b..e40b8fd2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ members = [ exclude = ["fuzz"] [workspace.package] -version = "0.1.5" +version = "0.2.0" authors = ["kingchenc "] edition = "2021" rust-version = "1.75" @@ -24,7 +24,7 @@ keywords = ["finance", "trading", "indicators", "technical-analysis", "ta"] categories = ["finance", "mathematics", "science"] [workspace.dependencies] -wickra-core = { path = "crates/wickra-core", version = "0.1.5" } +wickra-core = { path = "crates/wickra-core", version = "0.2.0" } thiserror = "2" rayon = "1.10" diff --git a/bindings/node/npm/darwin-arm64/package.json b/bindings/node/npm/darwin-arm64/package.json index 7f60c5aa..f8d97412 100644 --- a/bindings/node/npm/darwin-arm64/package.json +++ b/bindings/node/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "wickra-darwin-arm64", - "version": "0.1.5", + "version": "0.2.0", "description": "Native binding for wickra (macOS Apple Silicon). Installed automatically as an optional dependency of wickra on matching platforms.", "main": "wickra.darwin-arm64.node", "files": [ diff --git a/bindings/node/npm/darwin-x64/package.json b/bindings/node/npm/darwin-x64/package.json index b64903ad..1a3622ee 100644 --- a/bindings/node/npm/darwin-x64/package.json +++ b/bindings/node/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "wickra-darwin-x64", - "version": "0.1.5", + "version": "0.2.0", "description": "Native binding for wickra (macOS Intel). Installed automatically as an optional dependency of wickra on matching platforms.", "main": "wickra.darwin-x64.node", "files": [ diff --git a/bindings/node/npm/linux-arm64-gnu/package.json b/bindings/node/npm/linux-arm64-gnu/package.json index 8b53c4c0..24738585 100644 --- a/bindings/node/npm/linux-arm64-gnu/package.json +++ b/bindings/node/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "wickra-linux-arm64-gnu", - "version": "0.1.5", + "version": "0.2.0", "description": "Native binding for wickra (linux arm64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.", "main": "wickra.linux-arm64-gnu.node", "files": [ diff --git a/bindings/node/npm/linux-x64-gnu/package.json b/bindings/node/npm/linux-x64-gnu/package.json index 41ace2f5..90b09d08 100644 --- a/bindings/node/npm/linux-x64-gnu/package.json +++ b/bindings/node/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "wickra-linux-x64-gnu", - "version": "0.1.5", + "version": "0.2.0", "description": "Native binding for wickra (linux x64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.", "main": "wickra.linux-x64-gnu.node", "files": [ diff --git a/bindings/node/npm/win32-arm64-msvc/package.json b/bindings/node/npm/win32-arm64-msvc/package.json index 5385aae3..f805197c 100644 --- a/bindings/node/npm/win32-arm64-msvc/package.json +++ b/bindings/node/npm/win32-arm64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "wickra-win32-arm64-msvc", - "version": "0.1.5", + "version": "0.2.0", "description": "Native binding for wickra (Windows arm64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.", "main": "wickra.win32-arm64-msvc.node", "files": [ diff --git a/bindings/node/npm/win32-x64-msvc/package.json b/bindings/node/npm/win32-x64-msvc/package.json index f3d61b8a..57671658 100644 --- a/bindings/node/npm/win32-x64-msvc/package.json +++ b/bindings/node/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "wickra-win32-x64-msvc", - "version": "0.1.5", + "version": "0.2.0", "description": "Native binding for wickra (Windows x64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.", "main": "wickra.win32-x64-msvc.node", "files": [ diff --git a/bindings/node/package.json b/bindings/node/package.json index fba95dcc..bd7640da 100644 --- a/bindings/node/package.json +++ b/bindings/node/package.json @@ -1,6 +1,6 @@ { "name": "wickra", - "version": "0.1.5", + "version": "0.2.0", "description": "Streaming-first technical indicators: incremental, fast, install-free. Node bindings powered by Rust.", "author": "kingchenc ", "main": "index.js", @@ -47,12 +47,12 @@ "node": ">= 18" }, "optionalDependencies": { - "wickra-linux-x64-gnu": "0.1.5", - "wickra-linux-arm64-gnu": "0.1.5", - "wickra-darwin-x64": "0.1.5", - "wickra-darwin-arm64": "0.1.5", - "wickra-win32-x64-msvc": "0.1.5", - "wickra-win32-arm64-msvc": "0.1.5" + "wickra-linux-x64-gnu": "0.2.0", + "wickra-linux-arm64-gnu": "0.2.0", + "wickra-darwin-x64": "0.2.0", + "wickra-darwin-arm64": "0.2.0", + "wickra-win32-x64-msvc": "0.2.0", + "wickra-win32-arm64-msvc": "0.2.0" }, "scripts": { "build": "napi build --platform --release", diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index b73aa02a..547488bb 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "wickra" -version = "0.1.5" +version = "0.2.0" description = "Streaming-first technical indicators: incremental, fast, install-free." readme = "README.md" license = { text = "PolyForm-Noncommercial-1.0.0" } diff --git a/docs/wiki/Home.md b/docs/wiki/Home.md index 4531d31d..2a61dc72 100644 --- a/docs/wiki/Home.md +++ b/docs/wiki/Home.md @@ -26,12 +26,12 @@ open an issue on GitHub to discuss a separate license. | Registry | Package | Version | |-----------|----------------|---------| -| crates.io | `wickra` | 0.1.5 | -| crates.io | `wickra-core` | 0.1.5 | -| crates.io | `wickra-data` | 0.1.5 | -| PyPI | `wickra` | 0.1.5 | -| npm | `wickra` | 0.1.5 | -| npm | `wickra-wasm` | 0.1.5 | +| crates.io | `wickra` | 0.2.0 | +| crates.io | `wickra-core` | 0.2.0 | +| crates.io | `wickra-data` | 0.2.0 | +| PyPI | `wickra` | 0.2.0 | +| npm | `wickra` | 0.2.0 | +| npm | `wickra-wasm` | 0.2.0 | Release notes and tagged builds: . @@ -47,7 +47,7 @@ Release notes and tagged builds: - [Quickstart: Node](Quickstart-Node.md) — `npm install wickra`, basic `SMA` and `MACD` calls, and the install surface. Windows x64 was previously blocked by an npm spam filter on `wickra-win32-x64-msvc`; - that was resolved with npm Support, and 0.1.5 is the first release in + that was resolved with npm Support, and 0.2.0 is the first release in which `npm install wickra` works end-to-end on Windows. - [Quickstart: WASM](Quickstart-WASM.md) — `npm install wickra-wasm`, building with `wasm-pack`, and running indicators client-side in a diff --git a/docs/wiki/Quickstart-Node.md b/docs/wiki/Quickstart-Node.md index a9ee0543..b9e89095 100644 --- a/docs/wiki/Quickstart-Node.md +++ b/docs/wiki/Quickstart-Node.md @@ -10,12 +10,12 @@ slow JS reimplementation. npm install wickra ``` -> **Windows install (0.1.5+).** Earlier patch releases were blocked on +> **Windows install (0.2.0+).** Earlier patch releases were blocked on > Windows x64 because the platform-specific sub-package > `wickra-win32-x64-msvc` was held back by npm's automated spam filter, so > `require('wickra')` threw `Error: Cannot find module > 'wickra-win32-x64-msvc'` after a successful `npm install`. npm Support -> released the name on 2026-05-22; 0.1.5 is the first version in which +> released the name on 2026-05-22; 0.2.0 is the first version in which > Windows x64 installs cleanly end-to-end (version numbers `0.1.1`–`0.1.4` > of that sub-package remain burned and cannot be republished — see the > npm registry page for `wickra-win32-x64-msvc`). Linux x64, Linux arm64 @@ -135,7 +135,7 @@ The complete TypeScript definitions live at | `batch(...)` | Single-output: flat `Array` with `NaN` warmup.
Multi-output: flat interleaved `Array`. | | `reset()` | Returns to a freshly-constructed state. | | `isReady()` | `true` once the first value has been emitted. | -| `warmupPeriod()` | Present on every indicator class (single- and multi-output, scalar- and candle-input) since `0.1.5`. | +| `warmupPeriod()` | Present on every indicator class (single- and multi-output, scalar- and candle-input) since `0.2.0`. | A complete reference run lives in `bindings/node/__tests__/smoke.test.js`: diff --git a/docs/wiki/Quickstart-Rust.md b/docs/wiki/Quickstart-Rust.md index 963766bc..9eebba6e 100644 --- a/docs/wiki/Quickstart-Rust.md +++ b/docs/wiki/Quickstart-Rust.md @@ -15,7 +15,7 @@ build. The `wickra` crate is a thin façade that re-exports everything from `wickra-core`; you can also depend on `wickra-core` directly if you want to skip the façade. -The published crate is at version `0.1.5` on +The published crate is at version `0.2.0` on [crates.io](https://crates.io/crates/wickra). ## The `Indicator` trait in 30 seconds diff --git a/docs/wiki/Quickstart-WASM.md b/docs/wiki/Quickstart-WASM.md index 0e4be2f4..d8365a4c 100644 --- a/docs/wiki/Quickstart-WASM.md +++ b/docs/wiki/Quickstart-WASM.md @@ -111,7 +111,7 @@ console.log(last); their fields per row (e.g. MACD: `[macd0, signal0, hist0, macd1, ...]`). The exact layout is documented in the generated `pkg/wickra_wasm.d.ts`. -> Since `wickra-wasm@0.1.5`, every candle-input indicator (ATR, ADX, +> Since `wickra-wasm@0.2.0`, every candle-input indicator (ATR, ADX, > WilliamsR, CCI, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, > AwesomeOscillator, Aroon, Stochastic, OBV, and the rest of the > volume / volatility / trailing-stop / price-statistics families) exposes diff --git a/docs/wiki/Warmup-Periods.md b/docs/wiki/Warmup-Periods.md index 1bf5353a..91d22d83 100644 --- a/docs/wiki/Warmup-Periods.md +++ b/docs/wiki/Warmup-Periods.md @@ -160,7 +160,7 @@ const sma = new wickra.SMA(20); console.log(sma.warmupPeriod()); // -> 20 ``` -(Since `wickra@0.1.5`, `warmupPeriod()` is exposed on every Node and +(Since `wickra@0.2.0`, `warmupPeriod()` is exposed on every Node and WASM class — single- and multi-output — alongside `update()`, `reset()` and `isReady()`. Consult `bindings/node/index.d.ts` for the authoritative TypeScript surface.)