Releases: pineforge-4pass/pineforge-engine
Release list
v0.11.0
v0.11.0
Changes since v0.10.14
- chore(release): v0.11.0 (bc3175e)
- Merge pull request #87 from pineforge-4pass/codex/ki60-calc-on-fill (73817fe)
- Implement calc-on-order-fill execution (8a7a740)
- Merge pull request #85 from pineforge-4pass/codex/alert-webhooks (9734d48)
- Exclude Python host leaks from sanitizer test (59087d3)
- Preload ASan for Python stream test (5551017)
- Merge pull request #86 from pineforge-4pass/codex/reversal-margin-admission (5898eb9)
- fix: gate role-changing reversals by free margin (51bcf60)
- Make streaming data-source neutral (1226c64)
- Document realtime streaming lifecycle (af4c688)
- Add continuous historical-to-realtime streaming (9f69f96)
- Merge pull request #84 from pineforge-4pass/codex/ki61-opening-affordability-v4 (eb7b75c)
- fix(engine): align 1x long opening affordability (f2759db)
- Merge pull request #83 from pineforge-4pass/fix/same-id-stop-reissue-cross-ordering (2e9f39f)
- engine: reduce-only flip for deferred-flip carry priced entries (2c47e55)
- Merge pull request #81 from pineforge-4pass/fix/security-range-start-na-warmup (68748df)
- engine: opt-in security_range_start_na_warmup flag for TV HTF warmup parity (95dcc22)
- Merge pull request #80 from pineforge-4pass/fix/tv-margin-admission-gate (94bbfef)
- fix(engine): TV margin admission for frozen default-sized market orders (48363a1)
- Merge pull request #79 from pineforge-4pass/fix/default-qty-signal-freeze (778ab27)
- fix(engine): freeze default percent_of_equity/cash market-order sizing at the signal bar (a1d801e)
- Merge pull request #78 from pineforge-4pass/fix/percent-of-equity-commission-reservation (a5715bc)
- fix(sizing): reserve entry commission when sizing percent_of_equity (78acb0d)
- Merge pull request #77 from pineforge-4pass/fix/qty-percent-reconcile-deferred-layered-exit (c8b4ac4)
- fix(fills): normalize qty_percent when freezing a deferred layered exit qty (09e5fe1)
- Merge pull request #76 from pineforge-4pass/test/magnifier-coarser-security-cadence-guard (6be3999)
- test(security): guard coarser fixed-minute request.security cadence on the 1m-magnifier path (e225342)
- Merge pull request #75 from pineforge-4pass/docs/claude-md-build-trap-and-concurrency (fbe7385)
- docs: stale-test-binary trap + concurrency rules in CLAUDE.md; bump corpus (4fb881e)
- Merge pull request #74 from pineforge-4pass/test/ki31-margin-nibble-expectation (dc209a0)
- test(margin): update qty_step nibble expectation for floor-before-4x (KI-31) (cd59cd8)
- Merge pull request #73 from pineforge-4pass/fix/ki31-margin-nibble-floor-order (15b02e0)
- fix(margin): floor restore-qty to lot step BEFORE the 4x over-liquidation (KI-31) (7738f67)
- Merge pull request #72 from pineforge-4pass/fix/ki35-offset-tz-double-normalize (725067f)
- fix(session_time): stop double-normalizing tz in decompose_ms_local (KI-35 follow-up) (fab57d4)
- Merge pull request #71 from pineforge-4pass/perf/run-strategy-vectorized-loader (7b89017)
- perf(run_strategy): vectorized bar loader + preloaded_bars batch reuse (9a58d7e)
- Merge pull request #70 from pineforge-4pass/fix/ki35-tzset-notifyd-storm (6b43e73)
- fix(session_time): kill per-call tzset()->notifyd storm on macOS (KI-35) (eab8676)
- Merge pull request #69 from pineforge-4pass/fix/coverage-denom-open-exclusion (b835ae9)
- fix(verify): drop UNMATCHED still-open TV rows from coverage denominator (5f04b20)
- Merge pull request #68 from pineforge-4pass/fix/time-close-intraday-boundary (41bbd62)
- fix(time): intraday time_close is the exact bar-close boundary (3390a61)
- Merge pull request #67 from pineforge-4pass/fix/time-invalid-session-uses-chart-tz (ed3d630)
- Treat a tz-string in a 2-arg time() session slot as an ignored invalid session (6446253)
- Merge pull request #66 from pineforge-4pass/fix/time-session-timezone-arg (a0e211a)
- Honor a timezone passed in the session slot of 2-arg time()/time_close() (302a605)
- Merge pull request #65 from pineforge-4pass/fix/strategy-exit-scoped-erase (d2ea2ce)
- Scope strategy.exit replace-erase to the matching EXIT order (74845a5)
- Merge pull request #64 from pineforge-4pass/campaign/corpus-warmup-pins-pointer (d1067fb)
- Update validation corpus pointer (bda5cda)
- Merge pull request #63 from pineforge-4pass/campaign/update-corpus-full-history-feeds (ac9cf9c)
- Update validation corpus pointer (bdb96cd)
- Merge pull request #62 from pineforge-4pass/campaign/layered-exit-reconcile (3f06004)
- Update validation corpus warmup metadata (9235f31)
- Merge pull request #61 from pineforge-4pass/tier/hard-gates-coverage (0780c23)
- Hard tier gates: coverage dimension, no heuristic escapes (08abd97)
- Reconcile layered strategy.exit reservations when the entry opens from flat (42321c4)
- Merge pull request #60 from pineforge-4pass/campaign/strict-parity-fixes (ae4fe48)
- Enforce absolute count parity in corpus verifier (7427720)
- Fix equity sizing and POOC re-entry semantics (b3d2fac)
- Fix first-valid Pine cross edges (2ba047e)
- Support Pine bar index offsets (c467113)
- Normalize TradingView GMT offsets for timezones (a20ac1f)
- Materialize relative exit ticks after entry fills (56ab02f)
- Support unbiased stdev and variance (222eb7d)
- Merge pull request #59 from pineforge-4pass/feed/single-1m-derive (517cf6e)
- corpus: bump submodule to single-1m-feed layout (a84307d) (8bb9abc)
- harness: derive chart feeds from the corpus's single committed 1m feed (d62ff1d)
- Merge pull request #58 from pineforge-4pass/chore/corpus-deep-warmup-feeds (3241c5e)
- chore(corpus): bump submodule to deep-warmup reference feeds (de4b013)
Prebuilt libraries
Per-arch static-lib + headers tarballs are attached below (C ABI).
For the full PineScript -> backtest image, use ghcr.io/pineforge-4pass/pineforge-release.
v0.10.14
v0.10.14
Changes since v0.10.13
- chore(release): v0.10.14 (079d564)
- Merge pull request #57 from pineforge-4pass/integration/full-validation-pass (099cd5d)
- Merge branch 'fix/dca-stale-limit-entry-survives-close' into integration/full-validation-pass (8286e27)
- fix(fills): keep resting pure-limit entries alive across a full close (TV GTC) (4881ad7)
- Merge pull request #56 from pineforge-4pass/integration/full-validation-pass (ea6cb37)
- Merge branch 'fix/same-tick-multi-entry-sequential-fills' into integration/full-validation-pass (75d07f6)
- fix(exits): bind percent-100 brackets to a pending opposite reversal entry (8789cb5)
- fix(fills): fill same-tick multi-entry races sequentially per TV rule R* (b551cfb)
- Merge branch 'fix/exit-qty-percent-lot-step-floor-rebased' into integration/full-validation-pass (513e8fa)
- fix(exits): floor percent-derived strategy.exit legs to instrument lot step (1849520)
- Merge branch 'fix/exit-bracket-reserve-pending-entry' into integration/full-validation-pass (e82714e)
- Merge branch 'fix/finer-tf-security-publish-gate-lookahead-only' into integration/full-validation-pass (eb79f53)
- fix(security): restrict finer-than-chart publish gate to lookahead_on (a4847b3)
- Merge branch 'fix/same-bar-multi-close-single-fill' into integration/full-validation-pass (672c59b)
- fix(orders): size same-bar strategy.exit against the post-batched-close position (69c6dba)
- fix(orders): batch same-bar default-FIFO strategy.close calls into TV's single surviving fill (30fa74d)
- fix(exits): reserve explicit-qty exit brackets against pending entry, not live position (c8d8e31)
- Merge branch 'fix/security-finer-tf-history-offset-calling-bar-latch' into integration/full-validation-pass (e654888)
- fix(security): latch finer-than-chart request.security history reads to calling-bar boundary (47e9829)
- Merge branch 'fix/same-bar-flat-armed-opposite-defer' into integration/full-validation-pass (8d5bad8)
- fix(fills): defer same-bar flat-armed opposite-close when it would leave a remainder (7ee58d7)
- Merge branch 'fix/long-100pct-margin-overalloc-liquidation' into integration/full-validation-pass (7cb643c)
- fix(fills): unblock margin-call liquidation for over-allocated 1x longs (ac61d0c)
- fix(fills): same-bar exit re-issue fill + trail-seed pre-fill extreme leak (96d9fbb)
- Merge branch 'fix/same-bar-limit-entry-fill' into integration/full-validation-pass (5ad68ee)
- fix(fills): same-bar pure-limit entries fill immediately under process_orders_on_close (4e82016)
- Merge branch 'fix/margin-long-short-syminfo-wiring' into integration/full-validation-pass (bdad9a4)
- feat(syminfo): wire margin_long/margin_short through set_syminfo_metadata (c54949c)
- Merge branch 'fix/cancel-orders-keep-pending-entries' into integration/full-validation-pass (6b1f9b7)
- fix(orders): close()/close_all() no longer cancels pending same-direction entries (cfa8c89)
- Merge branch 'fix/qty-step-on-entry-orders' into integration/full-validation-pass (165ee9a)
- fix(orders): apply qty_step lot-size flooring to regular entry orders (3ec0484)
- Merge branch 'fix/account-currency-fx-pnl-and-sizing' into integration/full-validation-pass (85028ef)
- fix(currency): apply account_currency_fx_ to PnL, sizing, and excursions (19b7236)
- Merge branch 'fix/strong-tier-low-n-unmatched-floor' into integration/full-validation-pass (aeabbda)
- Merge branch 'fix/verify-corpus-usdt-pnl-columns' into integration/full-validation-pass (9184236)
- Merge branch 'feat/heikinashi-same-symbol-security' into integration/full-validation-pass (6facc12)
- fix(verify): recognize USDT-suffixed PnL/MFE/MAE export columns (63aded4)
- fix(verify): unfair moderate tier for low-N near-perfect strategies (925b2aa)
- docs(readme): correct coverage figures and ctest binary count (2436b50)
- docs(readme): correct coverage figures and ctest binary count (97c0d31)
- feat(security): support same-symbol Heikin-Ashi request.security (7eb812b)
- docs(readme): update corpus parity numbers for 252-strategy corpus (898a997)
- chore(verify): emit report-only entry/exit p99 deltas (#55) (515c390)
- test(verify): consolidate TradingView trade-list fragments before pairing (#54) (0a662ed)
- fix(orders): apply account-currency FX to the broker affordability gate (#53) (78b5300)
- fix(ta): initialize recompute save-state in all indicator ctors (non-determinism UB) (#52) (643d69f)
- fix(orders): defer process_orders_on_close market entry off the entry bar (#51) (902a95b)
- fix(orders): arm strategy.exit trailing stop via trail_price (absolute activation) (#50) (4064c7b)
- fix(orders): close(id) closes logical unclosed qty, not physical lots (grid bots) (#49) (eddb129)
- feat(orders): quantize margin-call liquidation lots to the symbol qty-step (#48) (0df9812)
- feat(orders): TradingView margin-call liquidation (#47) (848cce3)
- fix(orders): full-close exit re-expands to grown position under pyramiding (#46) (f14f201)
- test(orders): cover multi-tier exit precedence (bc9a7ff)
- fix(drawing): keep deleted records data-accessible (ca7fbb7)
- feat(drawing): add drawing objects as data runtime (02c7564)
Prebuilt libraries
Per-arch static-lib + headers tarballs are attached below (C ABI).
For the full PineScript -> backtest image, use ghcr.io/pineforge-4pass/pineforge-release.
v0.10.13
v0.10.13
Changes since v0.10.12
- chore(release): v0.10.13 (65b59c2)
- fix(orders): retain from_entry exit brackets whose parent entry is still pending (959af5e)
- fix(magnifier): on_bar sees script-bar open ts, not last sub-bar ts (fbae7a5)
Prebuilt libraries
Per-arch static-lib + headers tarballs are attached below (C ABI).
For the full PineScript -> backtest image, use ghcr.io/pineforge-4pass/pineforge-release.
v0.10.12
v0.10.12
Changes since v0.10.11
- chore(release): v0.10.12 (40f272f)
Prebuilt libraries
Per-arch static-lib + headers tarballs are attached below (C ABI).
For the full PineScript -> backtest image, use ghcr.io/pineforge-4pass/pineforge-release.
v0.10.11
v0.10.11
Changes since v0.10.10
- chore(release): v0.10.11 (6c0c87d)
- ci(release): engine is lib-only; dispatch hub after tarball (d29ecc7)
- feat(repro): docker runner for corpus + raw-data speed/throughput drivers (83d1b31)
- feat(run_json): corpus-faithful knobs + --bench raw timing (b312be4)
- docs(corpus): fix stale 'private submodule' message — corpus is public (#40) (1473ba2)
- docs(readme): transpiler bundled in pineforge-release, not the engine (engine ships no Docker image) (#39) (3c89e1b)
- feat(release): stop building the engine Docker image — engine is lib-only (#38) (1806edf)
- chore/corpus and app selfpush (#37) (758cf7e)
- feat(docker): engine image -> pure runtime base (#36) (a68d2fc)
- docs(readme): point full Pine->backtest image to pineforge-release (#35) (5d57cc9)
- feat(release): dispatch engine-release to pineforge-release hub (#34) (06937dc)
Prebuilt libraries
Per-arch static-lib + headers tarballs are attached below (C ABI).
For the full PineScript -> backtest image, use ghcr.io/pineforge-4pass/pineforge-release.
v0.10.10
v0.10.10
Changes since v0.10.9
- chore(release): v0.10.10 (5d84073)
Container image
docker pull ghcr.io/pineforge-4pass/pineforge-engine:0.10.10
v0.10.9
v0.10.7
v0.10.7
Changes since v0.10.6
- chore(release): v0.10.7 (7c7644d)
Container image
docker pull ghcr.io/pineforge-4pass/pineforge-engine:0.10.7