PyneCore v6.10.1 released — faster request.security backtests and rollback that keeps…

Performance

  • request.security children run only the backward slice of main() they need, so multi-context scripts run several times faster
  • Contexts reading the same feed share one child process: 2-3x faster on multi-call scripts
  • The developing round of request.security(..., x[k], lookahead_on) with k >= 1 runs once per higher-timeframe period (91 s -> 20 s on one corpus script)
  • Cheaper rollback of discarded re-executions

Behaviour change

  • Writing into a module-level object from inside a function now raises a SyntaxError at load time; keep bar-to-bar state in Persistent / IBPersistent

Fixes

  • Rollback (calc_on_order_fills, intrabar ticks, security re-ticks) now keeps arrays, maps, matrices and UDTs as the same objects, and nested mutations are undone
  • Security children now get programmatic input overrides
  • A security child that has already exited can no longer hang the chart
  • polyline.new now copies its points, so later changes to the array no longer reshape a polyline that was already drawn
  • The broker’s watch_orders stream now reopens with backoff after an unexpected error

Full release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.10.1