What's Changed
- GH-1694 Use main thread script loading on main thread by @Naros in #1695
- GH-1694 Add integration test to GitHub CI by @Naros in #1695
- GH-1694 Avoid crash in OScriptLanguage get_global_map index-accessor by @Naros in #1695
- GH-1694 Improve test harness by @Naros in #1695
- GH-1694 Fix editor crash when doing a headless import by @Naros in #1695
- GH-1689 Fix collapse to function / expand node behavior by @Naros in #1692
- GH-1688 Treat
_shortcut_inputas an event node type by @Naros in #1690 - GH-1687 Do not include local variable nodes in event graphs by @Naros in #1691
- GH-1684 Improve save performance by @Naros in #1685
- GH-1672 Improve the performance of switch nodes by @Naros in #1674
- GH-1672 Improve has_any_connections/get_connection by @Naros in #1674
- GH-1672 Gate function analyzer warnings by @Naros in #1674
- GH-1672 Improve connection lookup performance by @Naros in #1674
- GH-1672 Reduce node pin collection allocations by @Naros in #1674
- GH-1672 Remove container hashes of Ref objects by @Naros in #1674
- GH-1672 Cache control flow successors in function analysis by @Naros in #1674
- GH-1672 Fix loops breaking linear execution order by @Naros in #1674
- GH-1676 Short-circuit get_operator_type for known bool results by @Naros in #1677
- GH-1675 Allow property selector to work with class name types by @Naros in #1678
- GH-1664 Support PringStringOverlay with CanvasLayers by @Naros in #1671
- GH-1667 Improve integration test runner by @Naros in #1669
- GH-1667 Fix integration tests, clean/import before run by @Naros in #1669
- GH-1667 Fix script node provenance by @Naros in #1669
- GH-1662 Add test case by @Naros in #1668
- GH-1662 Fix heterogeneous type resolution in generic switch by @Naros in #1668
- GH-1661 Fix includes by @Naros in #1666
- GH-1661 Fix typed container variable serialization by @Naros in #1666
- GH-1663 Limit test case to Godot 4.5+ by @Naros in #1665
- GH-1663 Add test case by @Naros in #1665
- GH-1663 Fix script instance assignment (Godot 4.5+) by @Naros in #1665
- GH-1656 Update to SCons 4.10.1 by @Naros in #1658
- GH-1657 Fix Brew tap warnings for macOS/iOS by @Naros in #1659
- GH-1649 Improve promotable operator node behavior by @Naros in #1655
- GH-1648 Fix dependency check using For with Break by @Naros in #1654
- GH-1650 Fix Set Array Element with resize by @Naros in #1653
- GH-1651 Fix "[Self]" pin label assignment by @Naros in #1652
- GH-1646 Fix delete context menu signal binding by @Naros in #1647
- GH-281 Introduce new promotable/dynamic operator nodes by @Naros in #296
- GH-1643 Request restart when required for specific properties by @Naros in #1644
- GH-1635 Fix bitwise to boolean operator by @Naros in #1638
- GH-1636 Remove C++23 usage by @Naros in #1637
- GH-1522 Support for Godot 4.7 / GDExtension v10 by @Naros in #1523
- GH-859 Experimental support for iOS platforms by @Naros in #1619
- GH-367 New Settings Dialog / Configurable Keybinds by @Naros in #1331
- GH-1625 Fix compilation with release builds by @Naros in #1626
- GH-1625 Improve load/save performance by @Naros in #1626
- GH-1622 Fix double-click selection on changing base type by @Naros in #1627
- GH-1623 Add make/break nodes as eligible drag operations by @Naros in #1628
- GH-1624 Change node action delete to use current selection by @Naros in #1629
- GH-806 Support Typed Arrays and Dictionaries by @Naros in #1608
- GH-1611 Use
Engine.get_main_loop().create_timerfor Delay by @Naros in #1617 - GH-1611 Fix dereferencing of a null object by @Naros in #1617
- GH-1610 Fix resetting using clear/reset button by @Naros in #1616
- GH-1610 Fix file pin button removal on cancel by @Naros in #1616
- GH-1612 Add additional keywords to type cast node by @Naros in #1615
- GH-1613 Fix Light theme inconsistencies by @Naros in #1614
- GH-1412 Fix Set Dictionary Item error message by @Naros in #1538
- GH-698 Small tweak to component panel themes by @Naros in #1577
- GH-698 Custom theme options by @Naros in #1577
- GH-1604 Fix base type icon resolution by @Naros in #1607
- GH-1475 Support await coroutines / non-coroutine methods by @Naros in #1476
- GH-1597 Fix test memory leak by @Naros in #1598
- GH-1597 Fix parse error calling script-instance functions by @Naros in #1598
- GH-1600 Avoid calling OScript
_inittwice by @Naros in #1606 - GH-1599 Allow
Free Objectto deallocateRefCountedobjects by @Naros in #1605 - GH-1595 Fix evaluation of OPCODE_OPERATOR_EVALUATE by @Naros in #1596
- GH-1547 Add graph toolbar toggle buttons by @Naros in #1593
- GH-1148 Allow script nodes to be selected on drag by @Naros in #1592
- GH-1573 Fix Godot compatibility w/LocalVector by @Naros in #1591
- GH-1573 Fix connected function argument removal by @Naros in #1591
- GH-1574 Avoid crash resolving unknown variable icon by @Naros in #1590
- GH-1588 Improve compatibility with Modern theme by @Naros in #1589
- GH-1576 Support switch on class-scoped enums by @Naros in #1582
- GH-1586 Fix ObjectDB leak in ScriptServer by @Naros in #1587
- GH-1580 Use multi-frame action search by @Naros in #1581
- GH-1571 Fix hotkey conflict ui_copy vs create frame by @Naros in #1572
- GH-1578 Fix hotzone logic for dialogue message nodes by @Naros in #1579
- GH-1569 Fix editor plugin unref memory leak by @Naros in #1570
- GH-1559 Identify and report cyclic control/data flows by @Naros in #1568
- GH-463 Fix Godot 4.4 compatibility by @Naros in #1551
- GH-1558 Fix Godot 4.4 compatibility by @Naros in #1565
- GH-463 Support changing comments, fix deletes by @Naros in #1551
- GH-463 Add keybind
Cto create frames by @Naros in #1551 - GH-463 Implement
GraphFrame, replaces old comments by @Naros in #1551 - GH-1553 Use
windows-2022runners for Windows by @Naros in #1566 - GH-1558 Fix crash when autowiring self nodes by @Naros in #1565
- GH-1563 Fix variable defined as enum/bitfields by @Naros in #1564
- GH-1561 Correctly resolve global enum/bitfield type by @Naros in #1562
- GH-1554 Add missing OP_XOR handler to binary_op by @Naros in #1555
- GH-1548 Add secondary ClassDB
MethodInfolookup by @Naros in #1552 - GH-1549 Correctly apply serialized version to Orchestration by @Naros in #1550
- GH-758 Support reroute branching by @Naros in #1544
- GH-1540 Fix enum/bitfield value resolution by @Naros in #1541
- Update README about branch development status by @Naros in 5c32266
- GH-1534 Apply temp file prefix when making templates by @Naros in #1535
- GH-1531 Fix typo in orchestration list context menu by @Naros in #1532
- GH-1529 Fix message_queue error when dialog opened by @Naros in #1530
- GH-1507 Improve action dialog performance by @Naros in #1524
- GH-1519 Fix script extends widget behavior by @Naros in #1520
- GH-1477 Avoid crash dragging from get self node by @Naros in #1504
- GH-1472 Update callable references when script function renamed by @Naros in #1505
- GH-1515 Cleanup editor plugins on exit by @Naros in #1516
- GH-1510 Add script filename button to UI by @Naros in #1511
- GH-1508 Reorganize orchestration specific files by @Naros in #1509
- GH-1500 Refactor bookmark/breakpoint into graph marker class by @Naros in #1501
- GH-1498 Improve graph clipboard operations by @Naros in #1499
- GH-1478 Use GDE::ResourceUID::uid_to_path by @Naros in #1496
- GH-1478 Correctly resolve self node titlebar icon by @Naros in #1496
- GH-1494 Code cleanup by @Naros in #1495
- GH-1494 Reduce number of DFS in OScriptFunctionAnalyzer by @Naros in #1495
- GH-1492 Avoid crashes during orphan fix-ups by @Naros in #1493
- GH-1490 Avoid crashes with utility functions, e.g
absby @Naros in #1491 - GH-1488 Fix duplicate_resource test for Godot 4.4 by @Naros in #1489
- GH-1447 Fix missing import for older branches by @Naros in #1448
- GH-1486 Normalize C++ line numbers for integration tests by @Naros in #1487
- GH-1447 Fix calling static methods in native base classes by @Naros in #1448
- GH-1484 Don't attempt to register function localvars twice by @Naros in #1485
- GH-1482 Fix non-OScript static function call resolution by @Naros in #1483
- GH-1455 Don't cleanup other scripts by @Naros in #1456
- GH-1441 Deprecate
type_existsOScript utility function by @Naros in #1442 - GH-1469 Override parent script methods using the override button by @Naros in #1470
- GH-1480 Use script _to_string override if present by @Naros in #1481
- GH-1428 Omit backtrace checks for Godot 4.4 by @Naros in #1463
- GH-1428 Paginate release lookup by @Naros in #1463
- GH-1428 Add test for assignment member as self by @Naros in #1463
- GH-1428 Orchestrator test suite by @Naros in #1463
- GH-1473 Resolve await signal node as self by default by @Naros in #1474
- GH-1467 Register const variables as ConstantNode in AST by @Naros in #1468
- GH-1464 Skip self assignment to avoid variant corruption by @Naros in #1465
- GH-1362 Resolve NodePath relative to attached script node by @Naros in #1408
- GH-1445 Fix interrupted coroutines not clearing properly by @Naros in #1446
- GH-1366 Do not crash during interlanguage circular dependencies by @Naros in #1406
- GH-1457 Improve evaluation of constant expressions with arrays/dictionaries by @Naros in #1458
- GH-1443 Fix inferred function return type resolution by @Naros in #1444
- GH-1459 Fix "trying to resolve type of null node" when missing condition by @Naros in #1460
- GH-1439 Fix
_get_var_typeavailability by @Naros in #1440 - GH-1439 Fix compiler generating incorrect bytecode for conversion return by @Naros in #1440
- GH-1451 Only increment parser status, avoiding re-analysis by @Naros in #1452
- GH-1435 Correctly resolve callable unbounded arg counts by @Naros in #1438
- GH-1449 Improve display of non-exported members in Remote Tree Inspector by @Naros in #1450
- GH-1430 Introduce
assertnode for editor/debug builds by @Naros in #1437 - GH-1453 Remove unused
unload_staticmethod by @Naros in #1454 - GH-1461 Add env variable by @Naros in #1462
- GH-1461 Introduce cache warmer workflow by @Naros in #1462
- GH-1368 Prevent crash due to Godot 4.7 regression by @Naros in #1407
- GH-1390 Fix and simplify coroutine stack clearing by @Naros in #1391
- GH-1433 Do not reset connect signal name on pin changes by @Naros in #1434
- GH-1431 Fix creating new class instance based on OScript by @Naros in #1432
- GH-1410 Fix resolving input when variable set output pin is used by @Naros in #1411
- GH-1422 Fix
Variant::get_validated_object_with_checkreturn freed state by @Naros in #1423 - GH-1420 Fix crash calling builtin static methods by @Naros in #1421
- GH-1424 Do not share array/dictionary instances by @Naros in #1425
- GH-1426 Return
awaitresult, if one is available by @Naros in #1427 - GH-1380 Fix editor creating presets config unnecessary by @Naros in #1384
- GH-1399 Include inherited non-named script members by @Naros in #1400
- GH-1381 Set search box caret to end of text by @Naros in #1397
- GH-1381 Fix action matching algorithm by @Naros in #1397
- GH-1403 Fix connecting signals with bind values by @Naros in #1404
- GH-1379 Reset orchestration edit state when reloaded by @Naros in #1385
- GH-1382 Save user data on canceled signal by @Naros in #1396
- GH-1377 Avoid spawning multiple call to parent nodes by @Naros in #1395
- GH-1386 Update OScriptCache when moving open script files by @Naros in #1394
- GH-1402 Treat self as Global Class if named class by @Naros in #1405
- GH-1392 Allow overriding
_setand_getby @Naros in #1393 - GH-1364 Fix crash when duplicating functions by @Naros in #1375
- GH-1365 Avoid unnecessary component panel refreshes by @Naros in #1374
- GH-1361 Prevent TextEdit entry being backward by @Naros in #1373
- GH-1367 Fix preload of non-OScript resources by @Naros in #1369
- GH-1356 Fix crash connecting to while node by @Naros in #1359
- GH-1283 Remove support for Godot 4.2 and 4.3 by @Naros in #1301
- GH-1347 Make several UI code performance improvements by @Naros in #1348
- GH-1343 Fix collapse nodes to function behavior by @Naros in #1344
- GH-1345 Fix Guid thread-safety & validity check by @Naros in #1346
- GH-1349 Use correct null-check in
GDE::Variant::is_nullby @Naros in #1350 - GH-1351 Correctly handle signal bindings on tree exit by @Naros in #1352
- GH-1357 Fix Stylebox and Editor crash on macOS by @Naros in #1358
- Style: Replace header guards with
#pragma onceby @Naros in 33840c8 - GH-1340 Refresh ConnectionsDock on signal disconnect by @Naros in #1341
- GH-709 Support connection straightening by @Naros in #1339
- GH-1337 Fix script list highlighting by @Naros in #1338
- GH-1329 Allow using arrow keys in search dialogs by @Naros in #1330
- GH-1327 Avoid get_function_node_id error by @Naros in #1328
- GH-1325 Fix
_initmethod not being called by @Naros in #1326 - GH-1316 Fix crash when removing function by @Naros in #1317
- GH-1314 Fix editor crash with binary orchestration scripts by @Naros in #1315
Full Changelog: v2.4.stable...v2.5.stable