From 01aeb965d1ea557d6c3a22add3f10c4f087b7ed8 Mon Sep 17 00:00:00 2001 From: kingchenc Date: Sat, 30 May 2026 19:50:45 +0200 Subject: [PATCH] release: bump 0.3.0 -> 0.3.1 (#80) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: remove ROADMAP.md from the public repo ROADMAP is kept as a local-only draft (ghost-ignored via .git/info/exclude); it is not part of the published package surface. * release: bump 0.3.0 -> 0.3.1 CI-only patch: fixes the release.yml CycloneDX SBOM step (cargo-cyclonedx has no -p flag, see #79) that skipped the GitHub Release attach-assets job on 0.3.0. No library changes — republishes the same code with a working release pipeline. - Cargo.toml (workspace.package + wickra-core dep) + Cargo.lock - bindings/python/pyproject.toml - bindings/node/package.json (version + 6 optionalDependencies) + package-lock.json - bindings/node/npm/*/package.json (6 platform subpackages) - CHANGELOG: finalize [0.3.0] (was still under [Unreleased]), add [0.3.1] * chore: track examples/node/package-lock.json Since the global package-lock ignore rule was dropped (#68) this file was left untracked. Commit it for reproducible example installs, consistent with bindings/node (findings P4.1). --- CHANGELOG.md | 19 +- Cargo.lock | 12 +- Cargo.toml | 4 +- ROADMAP.md | 203 ------------------ bindings/node/npm/darwin-arm64/package.json | 2 +- bindings/node/npm/darwin-x64/package.json | 2 +- .../node/npm/linux-arm64-gnu/package.json | 2 +- bindings/node/npm/linux-x64-gnu/package.json | 2 +- .../node/npm/win32-arm64-msvc/package.json | 2 +- bindings/node/npm/win32-x64-msvc/package.json | 2 +- bindings/node/package-lock.json | 40 ++-- bindings/node/package.json | 14 +- bindings/python/pyproject.toml | 2 +- examples/node/package-lock.json | 64 ++++++ 14 files changed, 124 insertions(+), 246 deletions(-) delete mode 100644 ROADMAP.md create mode 100644 examples/node/package-lock.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ea66239..43c491e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.1] - 2026-05-30 + +### Fixed +- **Release pipeline — CycloneDX SBOM generation.** `cargo-cyclonedx` has no + `-p`/`--package` selector; it walks the whole workspace in a single pass. + The `release.yml` SBOM step invoked it as `cargo cyclonedx … -p ` and + aborted with `error: unexpected argument '-p' found`, which failed the + crates.io publish job *after* the crates were already published and skipped + the GitHub Release attach-assets job (no release page, no SBOM artefacts). + The step now runs a single workspace pass and collects the three crates.io + crate SBOMs. No library changes relative to 0.3.0 — this patch republishes + the same code with a working release pipeline. + +## [0.3.0] - 2026-05-30 + ### Added - **Family 15 — Risk / Performance metrics (17 new indicators).** Implemented pragmatically as standard `Indicator`s rather than a separate @@ -817,7 +832,9 @@ 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/wickra-lib/wickra/compare/v0.2.7...HEAD +[Unreleased]: https://github.com/wickra-lib/wickra/compare/v0.3.1...HEAD +[0.3.1]: https://github.com/wickra-lib/wickra/compare/v0.3.0...v0.3.1 +[0.3.0]: https://github.com/wickra-lib/wickra/compare/v0.2.7...v0.3.0 [0.2.7]: https://github.com/wickra-lib/wickra/compare/v0.2.6...v0.2.7 [0.2.6]: https://github.com/wickra-lib/wickra/compare/v0.2.5...v0.2.6 [0.2.5]: https://github.com/wickra-lib/wickra/compare/v0.2.1...v0.2.5 diff --git a/Cargo.lock b/Cargo.lock index 61623fdc..dd81b78b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1867,7 +1867,7 @@ dependencies = [ [[package]] name = "wickra" -version = "0.3.0" +version = "0.3.1" dependencies = [ "approx", "criterion", @@ -1878,7 +1878,7 @@ dependencies = [ [[package]] name = "wickra-core" -version = "0.3.0" +version = "0.3.1" dependencies = [ "approx", "proptest", @@ -1888,7 +1888,7 @@ dependencies = [ [[package]] name = "wickra-data" -version = "0.3.0" +version = "0.3.1" dependencies = [ "approx", "csv", @@ -1915,7 +1915,7 @@ dependencies = [ [[package]] name = "wickra-node" -version = "0.3.0" +version = "0.3.1" dependencies = [ "napi", "napi-build", @@ -1925,7 +1925,7 @@ dependencies = [ [[package]] name = "wickra-python" -version = "0.3.0" +version = "0.3.1" dependencies = [ "numpy", "pyo3", @@ -1934,7 +1934,7 @@ dependencies = [ [[package]] name = "wickra-wasm" -version = "0.3.0" +version = "0.3.1" dependencies = [ "console_error_panic_hook", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index b39879e1..c692b6f8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ members = [ exclude = ["fuzz"] [workspace.package] -version = "0.3.0" +version = "0.3.1" authors = ["kingchenc "] edition = "2021" rust-version = "1.86" @@ -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.3.0" } +wickra-core = { path = "crates/wickra-core", version = "0.3.1" } thiserror = "2" rayon = "1.10" diff --git a/ROADMAP.md b/ROADMAP.md deleted file mode 100644 index 05204268..00000000 --- a/ROADMAP.md +++ /dev/null @@ -1,203 +0,0 @@ -# Roadmap - -What Wickra is heading toward, what is explicitly out of scope, and what -contributors can expect across the next 0.x versions. Roadmap items are -**aspirations, not commitments** — order may shift based on real -user-feedback and bug-priority. - -For "what shipped already" see [`CHANGELOG.md`](CHANGELOG.md). For the -internal structure that the roadmap items will plug into, see -[`ARCHITECTURE.md`](ARCHITECTURE.md). - -## North star - -> A streaming-first technical-analysis core that is the obvious default -> for anyone writing a Rust, Python, Node or browser-based trading -> system — drop-in fast, drop-in correct, drop-in tested. - -Three measurable proxies for "obvious default": - -1. **Coverage.** Every textbook indicator from TA-Lib, pandas-ta and - talipp is in Wickra and produces matching reference values. -2. **Performance.** Streaming `update` is the fastest published number - across Rust / Python / Node / WASM for any technical indicator. -3. **Trust.** Releases are reproducible, signed, SBOM-attached, with a - public 100% test/branch coverage badge. - -## 0.3.0 — target window: Q3 2026 - -The first release after the org migration to `wickra-lib` lands and the -project portal at `wickra.org` is live. - -### Headline goals - -- **WASM has automated tests.** `wasm-bindgen-test` job in CI exercising - a representative subset (~30 indicators across all families). Today - WASM is only smoke-validated through manual examples. -- **Release-pipeline trust.** SBOM (CycloneDX) generated per release, - Sigstore cosign signatures attached to every published artifact, - npm `--provenance` flag enabled, PyPI Trusted Publishers configured. -- **Hosted documentation portal.** `wickra.org` (Cloudflare Pages, - VitePress) replaces the GitHub Wiki as the canonical doc surface. - Per-indicator deep-dives, quickstarts, FAQ, search. -- **End-to-end strategy examples.** 3 runnable examples that wire - Wickra indicators into a full mean-reversion / trend-following / - breakout strategy with PnL and equity-curve output. -- **`ARCHITECTURE.md` + `ROADMAP.md` + `CITATION.cff`** governance - baseline (this is it). - -### Stretch goals (might slip to 0.4.0) - -- **Per-binding hosted API reference.** TypeDoc for Node/WASM, - Sphinx for Python, both hosted on `wickra.org/api/*`. Rust stays on - `docs.rs`. -- **Property-tests (`proptest`) for mathematical invariants.** Bound - checks on RSI ∈ [0, 100], Bollinger ordering, batch-streaming - equivalence on random inputs. -- **Nightly long-fuzz workflow.** Each fuzz target gets ~1h overnight, - findings auto-converted to issues. - -## 0.4.0 — target window: Q4 2026 - -### Indicator catalogue expansion - -The current 214 indicators cover the textbook canon. The next wave is -the "stuff people actually ask for but skip because it's painful in -other libs": - -- **Anchored indicators.** AnchoredVwap is already in, but anchored - variants of common indicators (AnchoredATR, AnchoredVolatility) are - on the wishlist for explicit session-based analysis. -- **Multi-timeframe (MTF) chaining helpers.** A `Mtf` wrapper - that runs an indicator on a different timeframe of the same input - stream — solves the most common reason people drop down to ad-hoc - buffering code. -- **Order-flow primitives** (gated on tick-data ingestion landing in - `wickra-data`): CumulativeDelta, BidAskImbalance, VolumeAtPrice. -- **Pivot-confirmation patterns.** WilliamsFractals is already in; - ZigZag is in. Next: PivotHigh/PivotLow with configurable - left/right-bar confirmation, used as a feature for higher-level - pattern detectors. -- **Harmonic-chart patterns** (Gartley, Bat, Butterfly, Crab, Shark). - These need the pivot-detector + ratio-matcher framework first; the - candlestick-pattern family from 0.2.8 is the precedent. - -### Live-data layer - -- **Tick-data ingestion.** Extend `wickra-data` from OHLCV-only to - also accept raw ticks; the existing `Aggregator` already aggregates - ticks into bars but isn't exposed in the public live-feed API yet. -- **Generic exchange trait.** `LiveFeed { fn subscribe(...) -> impl - Stream }` so the Binance adapter is one implementor - among many. **Note**: Wickra will not aggregate exchanges itself - (use `ccxt` if you need that) — the trait exists so user code can - swap feeds without touching indicator code. - -### Performance & reliability - -- **Performance-regression tracking.** `bench.yml` outputs deployed to - a `gh-pages` branch, `github-action-benchmark` plot over time, - threshold-based alerts on regression. -- **Indicator parity test suite.** Every indicator that has a TA-Lib - / pandas-ta / talipp equivalent must pass a golden-value test - against that reference. Currently most do but the test names are - scattered — consolidate into one `parity_tests` module. - -## 0.5.0 — target window: 2027 H1 - -### Possible new bindings - -Open questions, prioritised by demand signals (≈ GitHub stars + issue -requests + community polls): - -- **Java / Kotlin** binding via UniFFI — interest from Android-side - trading-app developers and the JVM-quant community. -- **Go** binding — interest from algorithmic-trading shops running on - Linux + Go infra. -- **C / C++** header export (`cbindgen`) — drops Wickra into existing - C/C++ trading stacks (e.g. older Bloomberg / FIX-protocol shops). -- **Swift** — niche but real, iOS / macOS native trading apps. -- **.NET** — closes the Windows-native gap that NAPI-Node doesn't fill - (some shops are still on .NET Framework). - -None of these are committed — each is a 1-2-month project on its own, -and bindings without active maintenance are a liability. Priority will -be driven by which language community shows up with PRs. - -### `wickra-data` widening - -- **Historical fetch from > 1 source.** Today only Binance REST/WS. - Add Coinbase and Kraken as reference implementations — explicitly - not exchange-aggregation, just "here are two more adapters using - the trait". - -## Beyond — long-term aspirations - -- **`wickra-backtest` sub-crate** (decision pending). A minimal - event-driven backtester wrapping signal generation + position - sizing + fees + slippage. Decision factor: do users keep building - these ad-hoc from `examples/`? If yes, codifying it saves the - ecosystem time. If most users plug Wickra into existing backtesters - (vectorbt, backtrader, Lean, Hummingbot), keep Wickra focused. -- **`wickra-plot` companion** (low priority). `plotters`-backed Rust - rendering of indicator outputs. Mainly useful for static report - generation; live charting belongs in the JS/web layer. -- **Academic adoption.** Citable `CITATION.cff`; targeting at least - one peer-reviewed paper using Wickra as the reference indicator - engine. - -## What is explicitly **not** on the roadmap - -These are recurring requests that Wickra will decline so contributors -don't waste time on them: - -| Feature | Why declined | -|---|---| -| Exchange aggregation across N venues | That's `ccxt`'s job. Wickra ships *one* feed implementor (Binance) for tests and demo; users plug their preferred exchange. | -| Full backtesting framework (à la Lean, vectorbt) | Scope creep. May land as `wickra-backtest` *if* a clear minimal API surfaces from user demand, but Wickra core stays an indicator library. | -| Strategy auto-tuning / hyperparameter search | Wrong abstraction layer — belongs in user-side ML/backtester. | -| Order-management / broker integration | Even further out of scope. | -| GUI / web-based studio | Marketing-site demos are fine; full IDE is not. | -| Indicator implementations that require optional Python deps (e.g. scipy KDE) | Bindings must work on a clean install. Pure-Rust math only. | -| Proprietary indicator implementations (e.g. paywalled vendor formulas) | License conflicts + audit burden. | -| GPU / CUDA acceleration | O(1) per update means the bottleneck is API overhead, not compute. SIMD-batch is a maybe; GPU adds no value for streaming. | - -## How indicator wishlist requests are handled - -1. **Open an issue** using the `feature_request` template, naming the - indicator, citing one of: - - TA-Lib reference - - pandas-ta reference - - peer-reviewed paper - - widely-published trading book -2. Maintainer triages within ~1 week. Acceptance criteria: - - Formula has at least one written reference (no random - YouTuber-only indicators) - - Implementation can be O(1) streaming - - Test vectors are obtainable (from reference lib, hand-computed, - or paper-provided) -3. Once accepted, the indicator gets added to the next family-batch - PR. Family-batches typically ship 5-20 indicators at a time. - -## Versioning - -Wickra follows [SemVer](https://semver.org/). The promise: - -- **0.x.0 (minor):** new indicators, new bindings, new optional features, - new optional config knobs. Adding methods to `Indicator` with default - impls is minor. -- **0.x.y (patch):** bug fixes, performance improvements, doc fixes. -- **Major (1.0.0 and later):** changes to the `Indicator` trait - signature, removal of indicators, breaking changes to `Candle` / - `OHLCV` field order. - -The 1.0 milestone is reserved for when the indicator catalogue is -considered "stable enough" and the bindings API has stabilised — likely -~2027 once 2-3 more bindings have shipped and stress-tested the trait. - -## Discussion - -For roadmap discussion, open a [Discussions](https://github.com/wickra-lib/wickra/discussions) -thread tagged `roadmap`. Specific indicator wishlist items go in -[Issues](https://github.com/wickra-lib/wickra/issues) via the -`feature_request` template. diff --git a/bindings/node/npm/darwin-arm64/package.json b/bindings/node/npm/darwin-arm64/package.json index 342381ce..2b1f56e5 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.3.0", + "version": "0.3.1", "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 866a44bc..b2db2b5a 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.3.0", + "version": "0.3.1", "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 939fa0f4..038758cf 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.3.0", + "version": "0.3.1", "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 5ef9ea4c..52f8737e 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.3.0", + "version": "0.3.1", "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 3470a0d8..241c7de0 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.3.0", + "version": "0.3.1", "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 d56ca4c2..94879d66 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.3.0", + "version": "0.3.1", "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-lock.json b/bindings/node/package-lock.json index fc511d95..a903c72a 100644 --- a/bindings/node/package-lock.json +++ b/bindings/node/package-lock.json @@ -1,12 +1,12 @@ { "name": "wickra", - "version": "0.3.0", + "version": "0.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "wickra", - "version": "0.3.0", + "version": "0.3.1", "license": "PolyForm-Noncommercial-1.0.0", "devDependencies": { "@napi-rs/cli": "^2.18.0" @@ -15,12 +15,12 @@ "node": ">= 18" }, "optionalDependencies": { - "wickra-darwin-arm64": "0.3.0", - "wickra-darwin-x64": "0.3.0", - "wickra-linux-arm64-gnu": "0.3.0", - "wickra-linux-x64-gnu": "0.3.0", - "wickra-win32-arm64-msvc": "0.3.0", - "wickra-win32-x64-msvc": "0.3.0" + "wickra-darwin-arm64": "0.3.1", + "wickra-darwin-x64": "0.3.1", + "wickra-linux-arm64-gnu": "0.3.1", + "wickra-linux-x64-gnu": "0.3.1", + "wickra-win32-arm64-msvc": "0.3.1", + "wickra-win32-x64-msvc": "0.3.1" } }, "node_modules/@napi-rs/cli": { @@ -41,8 +41,8 @@ } }, "node_modules/wickra-darwin-arm64": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.3.0.tgz", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.3.1.tgz", "integrity": "sha512-4eZiBR/yGUdr4nzhEUFy2i69XgNx64iI2ax/LPamsThgylC0KpHOZKK19QzJ2d9KbK4C8nMjME5FLuR+4GNEwQ==", "cpu": [ "arm64" @@ -57,8 +57,8 @@ } }, "node_modules/wickra-darwin-x64": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/wickra-darwin-x64/-/wickra-darwin-x64-0.3.0.tgz", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wickra-darwin-x64/-/wickra-darwin-x64-0.3.1.tgz", "integrity": "sha512-6hf8zI3QPjTFp4zCpmgUwDvNtu6jHqNUHKD5e55POo0CgA52HkpyxSPtVm8TGTIZDI7kPjlbOdBM8CJ76mmXwA==", "cpu": [ "x64" @@ -73,8 +73,8 @@ } }, "node_modules/wickra-linux-arm64-gnu": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/wickra-linux-arm64-gnu/-/wickra-linux-arm64-gnu-0.3.0.tgz", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wickra-linux-arm64-gnu/-/wickra-linux-arm64-gnu-0.3.1.tgz", "integrity": "sha512-kSe6y0xBMSiqdPLXNjwop5WZdHtvdBNKSEBCwZ4hFq33p4apW25/wrlzv9/oDuyD4kuPabJEhCCnFOplh58CUg==", "cpu": [ "arm64" @@ -89,8 +89,8 @@ } }, "node_modules/wickra-linux-x64-gnu": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/wickra-linux-x64-gnu/-/wickra-linux-x64-gnu-0.3.0.tgz", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wickra-linux-x64-gnu/-/wickra-linux-x64-gnu-0.3.1.tgz", "integrity": "sha512-tWBWS4qz7hxM4xnpFb59bhf6TaLwXq0Z3jEa/2l7r8PiHA94g8r8S53NRMiT+4yiL5hSWe/nUiC/YXdRrhEZ4g==", "cpu": [ "x64" @@ -105,8 +105,8 @@ } }, "node_modules/wickra-win32-arm64-msvc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/wickra-win32-arm64-msvc/-/wickra-win32-arm64-msvc-0.3.0.tgz", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wickra-win32-arm64-msvc/-/wickra-win32-arm64-msvc-0.3.1.tgz", "integrity": "sha512-EXIckHxAtF75PUGDKRzXyqMe9ldP0JjSdu68WFN6iJfp+McYrGu6h40TEJlQ/oUEIoPqiZB/xhVyo/el5Lg7zw==", "cpu": [ "arm64" @@ -121,8 +121,8 @@ } }, "node_modules/wickra-win32-x64-msvc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/wickra-win32-x64-msvc/-/wickra-win32-x64-msvc-0.3.0.tgz", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wickra-win32-x64-msvc/-/wickra-win32-x64-msvc-0.3.1.tgz", "integrity": "sha512-Yfsqq1Xwp6hdxMyLze411vNdo7BDwI6+lPSe7A9XdqyPecNDbtKwYLpsal2r8EHbNzqM+R8XnuRtUaEQS5VlUQ==", "cpu": [ "x64" diff --git a/bindings/node/package.json b/bindings/node/package.json index 53639585..3079bc9b 100644 --- a/bindings/node/package.json +++ b/bindings/node/package.json @@ -1,6 +1,6 @@ { "name": "wickra", - "version": "0.3.0", + "version": "0.3.1", "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.3.0", - "wickra-linux-arm64-gnu": "0.3.0", - "wickra-darwin-x64": "0.3.0", - "wickra-darwin-arm64": "0.3.0", - "wickra-win32-x64-msvc": "0.3.0", - "wickra-win32-arm64-msvc": "0.3.0" + "wickra-linux-x64-gnu": "0.3.1", + "wickra-linux-arm64-gnu": "0.3.1", + "wickra-darwin-x64": "0.3.1", + "wickra-darwin-arm64": "0.3.1", + "wickra-win32-x64-msvc": "0.3.1", + "wickra-win32-arm64-msvc": "0.3.1" }, "scripts": { "build": "napi build --platform --release", diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index 424d4641..8e34dca8 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "wickra" -version = "0.3.0" +version = "0.3.1" description = "Streaming-first technical indicators: incremental, fast, install-free." readme = "README.md" license = { text = "PolyForm-Noncommercial-1.0.0" } diff --git a/examples/node/package-lock.json b/examples/node/package-lock.json new file mode 100644 index 00000000..f39b9778 --- /dev/null +++ b/examples/node/package-lock.json @@ -0,0 +1,64 @@ +{ + "name": "wickra-examples-node", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wickra-examples-node", + "version": "0.0.0", + "license": "SEE LICENSE IN ../../LICENSE", + "dependencies": { + "wickra": "file:../../bindings/node" + }, + "devDependencies": { + "ws": "^8.18.0" + } + }, + "../../bindings/node": { + "name": "wickra", + "version": "0.1.4", + "license": "SEE LICENSE IN LICENSE", + "devDependencies": { + "@napi-rs/cli": "^2.18.0" + }, + "engines": { + "node": ">= 16" + }, + "optionalDependencies": { + "wickra-darwin-arm64": "0.1.4", + "wickra-darwin-x64": "0.1.4", + "wickra-linux-arm64-gnu": "0.1.4", + "wickra-linux-x64-gnu": "0.1.4", + "wickra-win32-arm64-msvc": "0.1.4", + "wickra-win32-x64-msvc": "0.1.4" + } + }, + "node_modules/wickra": { + "resolved": "../../bindings/node", + "link": true + }, + "node_modules/ws": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + } + } +}