Skip to content

v3.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Sep 08:54
78121c5

What's Changed

Scratch Compatibility & Monitors

  • Added Scratch-compatible list and slider monitors: stage monitors can now display lists and expose editable numeric ranges.
    #1831 #1832 by @joeykchen
  • Aligned scheduling and event behavior with Scratch: corrected loop and condition timing, wait and broadcast ordering, handler restart policies, and cross-frame resume order.
    #1834 #1863 #1885 #1886 by @joeykchen
  • Strengthened clone lifecycle behavior: enforced the project-wide clone limit, cleaned up clones and audio on stop-all, and preserved original pen state with independent sound effects.
    #1838 #1884 #1889 by @joeykchen
  • Corrected numeric equality and missing-target behavior: limited equality tolerance to ULPs and kept sprite motion, direction, and distance sensing Scratch-compatible when targets are absent.
    #1876 by @go-wyvern and #1893 by @joeykchen
  • Kept post-coroutine visuals synchronized: sprite, bubble, and camera updates are now flushed consistently every frame.
    #1847 by @songweijun1203

Runtime Reliability & Lifecycle

  • Prevented scheduler and event deadlocks: hardened managed queues, native event dispatch, and worker draining during reset.
    #1822 #1825 #1864 by @joeykchen
  • Reduced runtime hot-path overhead: cut allocations in broadcast ordering, script stopping, coroutine waits, and input snapshots.
    #1839 #1842 #1854 by @joeykchen
  • Improved coroutine diagnostics and lifecycle handling: preserved panic values and fault stacks, unified task descriptions, hardened waits, and clarified yield callbacks.
    #1848 #1888 #1891 by @joeykchen
  • Simplified runtime architecture: reorganized root and internal APIs, isolated runtime boundaries, streamlined audio bookkeeping, and split engine responsibilities into focused components.
    #1856 #1862 #1865 #1866 #1867 #1894 by @joeykchen

Web, Bindings & Code Generation

  • Stabilized Web execution and callbacks: fixed resource ownership, watchdog crashes, sample playback, callback identity, transient array cleanup, and event dispatch routing.
    #1823 #1837 #1843 #1850 #1881 #1890 by @joeykchen
  • Hardened native and Web array bindings: tightened ABI boundaries, rejected lossy object IDs, unified array metadata and decoding, and added output-only array support.
    #1824 #1844 #1859 #1873 #1874 #1877 #1879 by @joeykchen
  • Consolidated and hardened code generation: shared manager signatures, centralized immutable metadata, simplified templates, and strengthened declaration diagnostics.
    #1855 #1857 #1869 #1870 #1871 #1872 #1880 by @joeykchen
  • Simplified Web runner and worker delivery.
    #1860 by @joeykchen

Assets, Packaging & Tooling

  • Hardened ZIP input, output, and remote caching: added bounded archive processing, safer cache handling, and shared writer lifecycle management.
    #1821 #1827 #1861 by @joeykchen
  • Improved reload and runtime bundle integrity: preflighted configuration changes, validated runtime reuse against source, verified cached assets, and simplified runtime bundle APIs.
    #1826 #1828 #1849 #1852 by @joeykchen
  • Strengthened build and CLI workflows: hardened archive installation, propagated command failures, rejected invalid targets early, and simplified environment and argument handling.
    #1830 #1845 #1846 #1851 #1853 #1858 by @joeykchen
  • Improved template, rendering, and UI behavior: removed expected engine warnings, retained texture pixels for collision work, and made bubble clamping policy stable.
    #1820 #1829 #1836 #1868 by @joeykchen

Documentation & Maintenance

  • Clarified coroutine API contracts.
    #1840 by @joeykchen
  • Updated dependencies and runtime inputs: upgraded Go dependencies and pinned Godot to 09227b82.
    #1841 by @dependabot[bot] and #1875 by @joeykchen
  • Advanced the release compatibility boundary: prepared SPX v3.3.0 with runtime 3.0.0 and runtime ABI 3.
    #1895 by @joeykchen

Full Changelog: v3.2.4...v3.3.0