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.