896b71fc62
Versions bumped to 0.1.5 in every authoritative location:
- workspace `Cargo.toml` (`[workspace.package].version`, the
`wickra-core` path dependency pin).
- `bindings/python/pyproject.toml`.
- `bindings/node/package.json` (main + all six `optionalDependencies`
pins).
- All six per-platform `bindings/node/npm/<target>/package.json`
templates.
CHANGELOG: the accumulated `[Unreleased]` block is promoted to
`[0.1.5] - TBD` (date left for the user to set at tag time); the new
`[Unreleased]` header sits empty above it; the compare link table is
extended with `[0.1.5]: …compare/v0.1.4...v0.1.5` and the
`[Unreleased]` link is repointed to `…compare/v0.1.5...HEAD`.
Wiki refresh for 0.1.5 (R20 + Z2):
- `Home.md` version pin table updated; the Quickstart-Node hint replaces
the "spam filter holding back Windows" caveat with "0.1.5 is the
first release in which `npm install wickra` works end-to-end on
Windows" (npm Support released the name on 2026-05-22).
- `Quickstart-Node.md`'s Windows caveat is rewritten to explain the
history (`0.1.1`–`0.1.4` of `wickra-win32-x64-msvc` are burned) and
the resolution (0.1.5+ installs cleanly).
- `Quickstart-Rust.md` version mention bumped.
- `Warmup-Periods.md` note bumped + corrected: every Node and WASM
class — single- and multi-output — now exposes `warmupPeriod()` after
R3 (this branch), not only the single-output ones.
`release.yml` `publish_dir` no longer silently swallows a
second-attempt platform-package publish failure with a `::warning::`
and `return 0`. A real failure (after the existing 30s retry) now
emits an `::error::` and fails the job. The original mask is exactly
what allowed the `wickra-win32-x64-msvc@0.1.1–0.1.4` spam-filter
rejections to land four times in a row without anyone noticing (audit
finding R20). Failing loud means the next regression of this shape is
caught at the release run, not by a Windows user trying to
`require('wickra')`.
This commit does NOT push, tag, or trigger a release — the user
publishes the 0.1.5 tag themselves once the manual npm-republish
smoke test confirms `wickra-win32-x64-msvc@0.1.5` accepts publish on
the freshly-released name.
77 lines
1.7 KiB
TOML
77 lines
1.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/wickra-core",
|
|
"crates/wickra",
|
|
"crates/wickra-data",
|
|
"bindings/python",
|
|
"bindings/wasm",
|
|
"bindings/node",
|
|
"examples/rust",
|
|
]
|
|
exclude = ["fuzz"]
|
|
|
|
[workspace.package]
|
|
version = "0.1.5"
|
|
authors = ["kingchenc <kingchencp@gmail.com>"]
|
|
edition = "2021"
|
|
rust-version = "1.75"
|
|
license = "PolyForm-Noncommercial-1.0.0"
|
|
repository = "https://github.com/kingchenc/wickra"
|
|
homepage = "https://github.com/kingchenc/wickra"
|
|
readme = "README.md"
|
|
keywords = ["finance", "trading", "indicators", "technical-analysis", "ta"]
|
|
categories = ["finance", "mathematics", "science"]
|
|
|
|
[workspace.dependencies]
|
|
wickra-core = { path = "crates/wickra-core", version = "0.1.5" }
|
|
|
|
thiserror = "2"
|
|
rayon = "1.10"
|
|
|
|
# Testing
|
|
proptest = "1.5"
|
|
approx = "0.5"
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
|
|
# Python binding
|
|
pyo3 = { version = "0.28", features = ["extension-module", "abi3-py39"] }
|
|
numpy = "0.28"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
missing_debug_implementations = "warn"
|
|
unreachable_pub = "warn"
|
|
unused_must_use = "deny"
|
|
|
|
[workspace.lints.clippy]
|
|
all = { level = "warn", priority = -1 }
|
|
pedantic = { level = "warn", priority = -1 }
|
|
# Pedantic exceptions for an indicator library that uses floats and small functions everywhere.
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
cast_precision_loss = "allow"
|
|
cast_possible_truncation = "allow"
|
|
cast_sign_loss = "allow"
|
|
similar_names = "allow"
|
|
float_cmp = "allow"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
strip = true
|
|
|
|
[profile.bench]
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
debug = false
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|