From b84ed1bff86e821fcb1388308408280978e43d34 Mon Sep 17 00:00:00 2001 From: Marcos Achaval Date: Sat, 17 Oct 2026 12:34:19 -0300 Subject: [PATCH 1/3] chore(release): bump version to 0.5.0 PRD #457 (safe exit on real money) is delivered. The seams and the CLI changed, so the 0.x rules put this release in the MINOR lane. Closes #527 Co-Authored-By: Claude Opus 5.5 --- docs/workflow/versioning.md | 7 +++++++ pyproject.toml | 2 +- uv.lock | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/workflow/versioning.md b/docs/workflow/versioning.md index fb502d99..f39195ed 100644 --- a/docs/workflow/versioning.md +++ b/docs/workflow/versioning.md @@ -96,3 +96,10 @@ gh issue close --comment "Delivered in vX.Y.Z: . All sub-iss `PreTradeReading`, so a custom guard must change. Boot now refuses a non-positive reconcile band mark max age (#389). Fixes: the Hyperliquid socket reconnects again (#393). An isolated position no longer raises a false margin divergence (#402). Bump PR backed by #406. +- **v0.5.0** (2026-10-17). Safe exit on real money. PRD #457 sets the MINOR floor. A strategy can + send reduce-only orders and a `CancelAllSignal`. The operator gets `tickwright cancel-all` and + `tickwright flatten`, run with the engine stopped. The seams grew: `Exchange.cancel` takes a + list, `Exchange` gains two reads, `MarketFeed` gains `add_symbols`, and `Store` gains a lock and + a seq record. A running engine now holds an exclusive store lock. Fixes: Kafka seq reuse after a + restart (#442), the Postgres network hang (#498), and the live isolated margin readings. Bump PR + backed by #527. diff --git a/pyproject.toml b/pyproject.toml index bc44af48..5e8ed755 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "tickwright" -version = "0.4.0" +version = "0.5.0" description = "A readable, event-driven algorithmic trading engine." requires-python = ">=3.13,<3.14" license = "Apache-2.0" diff --git a/uv.lock b/uv.lock index 5a24f5e0..8c7ae24a 100644 --- a/uv.lock +++ b/uv.lock @@ -1142,7 +1142,7 @@ wheels = [ [[package]] name = "tickwright" -version = "0.4.0" +version = "0.5.0" source = { editable = "." } dependencies = [ { name = "aiohttp" }, From 448adaf769cd14345d447d03746ed3ed14ffbb99 Mon Sep 17 00:00:00 2001 From: Marcos Achaval Date: Sat, 17 Oct 2026 12:51:41 -0300 Subject: [PATCH 2/3] docs(release): list the contract changes and every fix in the v0.5.0 notes The entry left out the reserved strategy ids, the --new-store flag, and the mark cap on market orders. It also missed three fixes and gave the margin fixes no issue numbers. Co-Authored-By: Claude Opus 5.5 --- docs/workflow/versioning.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/workflow/versioning.md b/docs/workflow/versioning.md index f39195ed..cc9d746c 100644 --- a/docs/workflow/versioning.md +++ b/docs/workflow/versioning.md @@ -98,8 +98,13 @@ gh issue close --comment "Delivered in vX.Y.Z: . All sub-iss no longer raises a false margin divergence (#402). Bump PR backed by #406. - **v0.5.0** (2026-10-17). Safe exit on real money. PRD #457 sets the MINOR floor. A strategy can send reduce-only orders and a `CancelAllSignal`. The operator gets `tickwright cancel-all` and - `tickwright flatten`, run with the engine stopped. The seams grew: `Exchange.cancel` takes a - list, `Exchange` gains two reads, `MarketFeed` gains `add_symbols`, and `Store` gains a lock and - a seq record. A running engine now holds an exclusive store lock. Fixes: Kafka seq reuse after a - restart (#442), the Postgres network hang (#498), and the live isolated margin readings. Bump PR - backed by #527. + `tickwright flatten`, run with the engine stopped. An exit run refuses a store no engine has + used, unless you pass `--new-store`. The seams grew: `Exchange.cancel` takes a list, `Exchange` + gains two reads, `MarketFeed` gains `add_symbols`, and `Store` gains a lock and a seq record. A + running engine now holds an exclusive store lock. Config now refuses `__operator__` and + `__unattributed__` as a strategy id. A Hyperliquid MARKET order is now capped by the mark too + (#467). Fixes: Kafka seq reuse after a restart (#442) and the Postgres network hang (#498). The + engine no longer crashes on a market order before the first mark (#509) or a LIMIT with no + price (#513). A live position no longer reads a made-up liquidation price at boot (#515). Live + isolated margin now reads right after an open, an add, a shared symbol, and a restart (#516, + #518, #520, #522). Bump PR backed by #527. From 6b8965673384e7aac6d992f23db5628e4041431d Mon Sep 17 00:00:00 2001 From: Marcos Achaval Date: Sat, 17 Oct 2026 12:56:06 -0300 Subject: [PATCH 3/3] docs(release): list the paper restart fix in the v0.5.0 notes On v0.4.0, paper forgot its resting orders after a restart. #484 fixed that, and the entry did not say so. Co-Authored-By: Claude Opus 5.5 --- docs/workflow/versioning.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/workflow/versioning.md b/docs/workflow/versioning.md index cc9d746c..56a68d13 100644 --- a/docs/workflow/versioning.md +++ b/docs/workflow/versioning.md @@ -107,4 +107,5 @@ gh issue close --comment "Delivered in vX.Y.Z: . All sub-iss engine no longer crashes on a market order before the first mark (#509) or a LIMIT with no price (#513). A live position no longer reads a made-up liquidation price at boot (#515). Live isolated margin now reads right after an open, an add, a shared symbol, and a restart (#516, - #518, #520, #522). Bump PR backed by #527. + #518, #520, #522). Paper keeps its resting orders across a restart (#484). Bump PR backed by + #527.