chore: prepare v1.0.6 release
Align the Rust, Python, WASM, Conda, docs, and lockfile version markers to 1.0.6 so the published artifacts and release automation agree on a single release number. Add a proper 1.0.6 changelog entry in both CHANGELOG.md and the docs release notes, covering the pre-push gate, expanded Rust and WASM surface, benchmark refresh, and CI hardening work shipped since v1.0.4. Validate the release preparation with the repo-managed pre-push suite so version, changelog, Rust, Python, docs, WASM, and API-manifest checks all pass before tagging.
This commit is contained in:
+38
-1
@@ -9,6 +9,42 @@ and the project uses [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.0.6] — 2026-03-24
|
||||
|
||||
### Added
|
||||
|
||||
- Added a repo-managed pre-push gate that mirrors the core local CI and
|
||||
release checks, including version and changelog validation, Rust formatting
|
||||
and clippy, Python linting and type checks, tests, docs, and the WASM smoke
|
||||
suite.
|
||||
- Added generated API manifest tooling and CI coverage so Python and WASM
|
||||
export drift is detected before release candidates are pushed.
|
||||
- Expanded the Rust-backed implementation surface for analysis and data-heavy
|
||||
workflows, including backtest signal generation, portfolio loops, payoff and
|
||||
Greeks aggregation, chunked indicator execution, and related helper paths.
|
||||
- Expanded the WASM package surface with additional indicator exports such as
|
||||
`WMA`, `ADX`, and `MFI`, along with refreshed Node examples and conformance
|
||||
coverage against the Python package.
|
||||
|
||||
### Changed
|
||||
|
||||
- Refreshed benchmark wrappers, perf-contract artifacts, and benchmark
|
||||
comparison helpers so the checked-in performance evidence stays aligned with
|
||||
the current feature set.
|
||||
- Hardened Python CI and local tooling so they run the same typecheck and test
|
||||
entrypoints, including installing the optional MCP dependency needed by the
|
||||
MCP server tests.
|
||||
- Updated local pre-commit integration to match the current Ruff
|
||||
configuration and refreshed locked dependencies to pick up the audited
|
||||
PyJWT security fix.
|
||||
|
||||
### Fixed
|
||||
|
||||
- One-off benchmark output files produced in the repository root are now
|
||||
ignored so local benchmarking no longer dirties the repo by default.
|
||||
- Tightened API typing and MCP helper behavior so the stricter lint and
|
||||
typecheck pipeline passes consistently before release.
|
||||
|
||||
## [1.0.4] — 2026-03-24
|
||||
|
||||
### Added
|
||||
@@ -355,7 +391,8 @@ and the project uses [Semantic Versioning](https://semver.org/).
|
||||
|
||||
---
|
||||
|
||||
[Unreleased]: https://github.com/pratikbhadane24/ferro-ta/compare/v1.0.4...HEAD
|
||||
[Unreleased]: https://github.com/pratikbhadane24/ferro-ta/compare/v1.0.6...HEAD
|
||||
[1.0.6]: https://github.com/pratikbhadane24/ferro-ta/compare/v1.0.4...v1.0.6
|
||||
[1.0.4]: https://github.com/pratikbhadane24/ferro-ta/compare/v1.0.3...v1.0.4
|
||||
[1.0.3]: https://github.com/pratikbhadane24/ferro-ta/compare/v1.0.2...v1.0.3
|
||||
[1.0.2]: https://github.com/pratikbhadane24/ferro-ta/compare/v1.0.1...v1.0.2
|
||||
|
||||
Generated
+2
-2
@@ -207,7 +207,7 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
||||
|
||||
[[package]]
|
||||
name = "ferro_ta"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
dependencies = [
|
||||
"criterion",
|
||||
"ferro_ta_core",
|
||||
@@ -222,7 +222,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ferro_ta_core"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
dependencies = [
|
||||
"criterion",
|
||||
"wide",
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@ resolver = "2"
|
||||
|
||||
[package]
|
||||
name = "ferro_ta"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
edition = "2021"
|
||||
description = "Rust-powered Python technical analysis library with a TA-Lib-compatible API"
|
||||
license = "MIT"
|
||||
@@ -30,7 +30,7 @@ ndarray = "0.16"
|
||||
rayon = "1.10"
|
||||
log = "0.4"
|
||||
pyo3-log = "0.12"
|
||||
ferro_ta_core = { path = "crates/ferro_ta_core", version = "1.0.4" }
|
||||
ferro_ta_core = { path = "crates/ferro_ta_core", version = "1.0.6" }
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = { version = "0.8", features = ["html_reports"] }
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{% set name = "ferro-ta" %}
|
||||
{% set version = "1.0.4" %}
|
||||
{% set version = "1.0.6" %}
|
||||
|
||||
package:
|
||||
name: {{ name|lower }}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ferro_ta_core"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
edition = "2021"
|
||||
description = "Pure Rust core indicator library — no PyO3, no numpy dependency"
|
||||
license = "MIT"
|
||||
|
||||
@@ -13,7 +13,7 @@ PyO3, NumPy, or Python runtime dependency, which makes it a good fit for:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
ferro_ta_core = "1.0.4"
|
||||
ferro_ta_core = "1.0.6"
|
||||
```
|
||||
|
||||
## Design
|
||||
|
||||
+12
-1
@@ -1,7 +1,18 @@
|
||||
Release Notes
|
||||
=============
|
||||
|
||||
These docs track package version ``1.0.4``.
|
||||
These docs track package version ``1.0.6``.
|
||||
|
||||
1.0.6 (2026-03-24)
|
||||
------------------
|
||||
|
||||
- Added a repo-managed pre-push gate so the core Rust, Python, docs, and WASM
|
||||
checks can be run locally before release.
|
||||
- Expanded Rust-backed analysis/data helpers, broadened the WASM exports, and
|
||||
added cross-surface API manifest verification plus Node conformance checks.
|
||||
- Refreshed benchmark coverage and perf artifacts, aligned Python CI with the
|
||||
local tooling flow, and updated the locked security fixes needed for a clean
|
||||
release pass.
|
||||
|
||||
1.0.4 (2026-03-24)
|
||||
------------------
|
||||
|
||||
@@ -107,7 +107,7 @@ For source builds, packaging details, and platform notes, see
|
||||
Release status
|
||||
--------------
|
||||
|
||||
These docs track package version ``1.0.4``.
|
||||
These docs track package version ``1.0.6``.
|
||||
|
||||
- Release notes by version: :doc:`changelog`
|
||||
- Canonical project changelog: `CHANGELOG.md <https://github.com/pratikbhadane24/ferro-ta/blob/main/CHANGELOG.md>`_
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
||||
|
||||
[project]
|
||||
name = "ferro-ta"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
description = "Rust-powered Python technical analysis library with a TA-Lib-compatible API"
|
||||
readme = "README.md"
|
||||
license = { text = "MIT" }
|
||||
|
||||
@@ -675,7 +675,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "ferro-ta"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "numpy" },
|
||||
|
||||
Generated
+2
-2
@@ -49,11 +49,11 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
||||
|
||||
[[package]]
|
||||
name = "ferro_ta_core"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
|
||||
[[package]]
|
||||
name = "ferro_ta_wasm"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
dependencies = [
|
||||
"ferro_ta_core",
|
||||
"js-sys",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ferro_ta_wasm"
|
||||
version = "1.0.4"
|
||||
version = "1.0.6"
|
||||
edition = "2021"
|
||||
description = "WebAssembly bindings for ferro-ta technical analysis indicators"
|
||||
license = "MIT"
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ferro-ta-wasm",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.6",
|
||||
"description": "WebAssembly bindings for ferro-ta technical analysis indicators",
|
||||
"main": "pkg/ferro_ta_wasm.js",
|
||||
"types": "pkg/ferro_ta_wasm.d.ts",
|
||||
|
||||
Reference in New Issue
Block a user