Juan Linietsky
d8078d3f4c
Add a backwards-compatibility system for GDExtension method
...
This adds a way to ensure that methods that were modified in the Godot API will continue working in older builds of GDExtension even if the new signature is different.
```C++
// New version (changed)
ClassDB::bind_method(D_METHOD("add_sphere","radius","position"),&MyShapes::add_sphere);
// Compatibility version (still available to extensions).
ClassDB::bind_compatibility_method(D_METHOD("add_sphere","radius"),&MyShapes::_compat_add_sphere);
```
**Q**: If I add an extra argument and provide a default value (hence can still be called the same), do I still have to provide the compatibility version?
**A**: Yes, you must still provide a compatibility method. Most language bindings use the raw method pointer to do the call and process the default parameters in the binding language, hence if the actual method signature changes it will no longer work.
**Q**: If I removed a method, can I still bind a compatibility version even though the main method no longer exists?
**A**: Yes, for methods that were removed or renamed, compatibility versions can still be provided.
**Q**: Would it be possible to automate checking that methods were removed by mistake?
**A**: Yes, as part of a future PR, the idea is to add a a command line option to Godot that can be run like : `$ godot --test-api-compatibility older_api_dump.json`, which will also be integrated to the CI runs.
2023-05-15 12:05:40 +02:00
Rémi Verschelde
45cd5dcad3
Merge pull request #75885 from AThousandShips/compound_fix
...
[GDScript] Fix incorrect compound assignment
2023-04-25 16:17:02 +02:00
Rémi Verschelde
efb42c3101
Merge pull request #75447 from bruvzg/brotli_packedarray
...
Expose brotli decompression to the scripting API.
2023-04-25 16:16:56 +02:00
Rémi Verschelde
bbecc8ae0d
Merge pull request #70234 from Rindbee/fix-uid-lost
...
Fix the uid field of the tscn/res file is lost when the external dependency is updated
2023-04-25 16:16:47 +02:00
Rémi Verschelde
6aac8af6f1
Merge pull request #69318 from Sauermann/fix-refresh-gui-events
...
Fix scene reload crash related to mouse cursor update
2023-04-25 15:36:26 +02:00
Rémi Verschelde
aa622dae53
Merge pull request #76431 from RandomShaper/fix_doc_help_cache
...
Improve reliability of editor docs cache
2023-04-25 14:44:17 +02:00
Rémi Verschelde
5e383f3e3d
Merge pull request #76428 from bruvzg/finder_open
...
[macOS] Implement OS::shell_show_in_file_manager()
2023-04-25 14:44:13 +02:00
Rémi Verschelde
0093660351
Merge pull request #76246 from Proggle/tilemap-rid-layer-report
...
TileMap: Add method to fetch the layer for a given body
2023-04-25 14:44:10 +02:00
Rémi Verschelde
ae7872fd02
Merge pull request #76199 from needleful/incremental_search_property
...
Add allow_search property to ItemList and Tree to control incremental search
2023-04-25 14:44:06 +02:00
Rémi Verschelde
c89b3710cb
Merge pull request #76168 from MewPurPur/justify-gradient-reverse-not-reversing
...
Document why Gradient.reverse() doesn't reverse constant gradients
2023-04-25 14:44:02 +02:00
Rémi Verschelde
92e5f4f73a
Merge pull request #76037 from theromis/master
...
iOS splash screen rotation fix
2023-04-25 14:43:53 +02:00
Rémi Verschelde
53191928e5
Merge pull request #76345 from reduz/fix-thread-ids
...
Fix thread IDs.
2023-04-25 13:20:46 +02:00
Proggle
093cb90077
TileMap: Add method to fetch the layer for a given body
2023-04-25 12:49:50 +02:00
Rémi Verschelde
a91a16e636
Merge pull request #76413 from YuriSizov/editor-unimation-untrack-unedit-unplugin
...
Unexpose `AnimationTrackEditPlugin` as not implemented
2023-04-25 12:38:41 +02:00
Pedro J. Estébanez
e1ce0340b7
Improve reliability of editor docs cache
2023-04-25 11:40:56 +02:00
Yuri Sizov
0562decf34
Unexpose AnimationTrackEditPlugin as not implemented
2023-04-25 11:38:17 +02:00
bruvzg
a97225c753
[macOS] Implement OS::shell_show_in_file_manager()
2023-04-25 11:48:41 +03:00
Rémi Verschelde
e54ebaf0eb
Merge pull request #76421 from timothyqiu/editor-dialog
...
Fix inconsistent file dialog settings usage
2023-04-25 10:01:06 +02:00
Rémi Verschelde
fa40b0fdba
Merge pull request #76410 from YuriSizov/docs-highligh-editor-only
...
Create an "Editor-only" section in the online class reference
2023-04-25 10:00:42 +02:00
Rémi Verschelde
a98997bb45
Merge pull request #76404 from sodaJar/gdrep
...
Fix wrong file name on function call error
2023-04-25 10:00:19 +02:00
Rémi Verschelde
367ad3545d
Merge pull request #76315 from RandomShaper/vk_fix_barriers
...
Fix issues with Vulkan layout transitions
2023-04-25 09:59:55 +02:00
Rémi Verschelde
7b2d142808
Merge pull request #76084 from timothyqiu/nested-folders
...
Make create folder popup support nested folders
2023-04-25 09:59:31 +02:00
Rémi Verschelde
8cc1762398
Merge pull request #76105 from anvilfolk/tooltip
...
Fix @export variable tooltips not showing up in Inspector in scripts with inner classes
2023-04-25 09:59:06 +02:00
Rémi Verschelde
ed62d965eb
Merge pull request #75429 from MewPurPur/Literally-cant-have-a-functioning-level-editor-because-of-this-please-helppp
...
Fix PackedScenes created with PackedScene.pack() have their exported nodes become null
2023-04-25 09:58:41 +02:00
Rémi Verschelde
15d952147c
Merge pull request #74101 from RandomShaper/fix_gds_obj_temps
...
Fix edge cases of object lifetime when signals involved
2023-04-25 09:58:17 +02:00
Rémi Verschelde
be00dcd724
Merge pull request #73656 from TokageItLab/expose-3d-tracks
...
Expose interpolation methods for 3D track in `Animation` class
2023-04-25 09:57:52 +02:00
Rémi Verschelde
76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
...
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Rémi Verschelde
d5b8a0fc37
Merge pull request #69266 from aaronfranke/gltf-physics
...
Implement physics support in the GLTF module
2023-04-25 09:56:58 +02:00
Daylily-Zeleen
b12ced0a26
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 11:29:32 +08:00
Haoyu Qiu
2ccc9e1456
Fix inconsistent file dialog settings usage
...
* Project Manager ignores display mode settings.
* EditorFileDialog's default display mode and show hidden files settings
are not updated when corresponding editor settings change.
2023-04-25 09:11:57 +08:00
Yuri Sizov
3ae282b452
Create an "Editor-only" section in the online class reference
...
This helps to find such classes without digging
through the rest of the class reference.
Editor-only classes can still be found under
your normal "Node" and "Resource" types.
This also fixes a typo and a missed case from the recent platform docs PR.
2023-04-24 21:06:55 +02:00
Silc Renew
fac8a918f9
Expose interpolation methods for 3D track in Animation class
2023-04-25 01:45:14 +09:00
Rémi Verschelde
14c582bca8
Merge pull request #76403 from bitsawer/reduce_hashmap_size
...
Optimize HashMap size
2023-04-24 16:49:12 +02:00
Rémi Verschelde
9098698d17
Merge pull request #76396 from Rindbee/fix_line_spacing_not_update_in_code_editor
...
Fix `line_spacing` in code editor will not take effect immediately on change
2023-04-24 16:48:48 +02:00
Rémi Verschelde
60a335b24b
Merge pull request #76394 from bruvzg/macos_1013
...
[macOS] Bump min. version to 10.13, and remove deprecated code.
2023-04-24 16:48:25 +02:00
Rémi Verschelde
b5ddafcab2
Merge pull request #76374 from OverloadedOrama/more-tab-container-signals
...
Add missing `TabBar` signals to `TabContainer`
2023-04-24 16:48:01 +02:00
Rémi Verschelde
700ce30644
Merge pull request #76364 from timothyqiu/expansion
...
Fix layout list not resizing in editor layout dialog
2023-04-24 16:47:38 +02:00
Rémi Verschelde
5462006118
Merge pull request #76363 from timothyqiu/whats-undo-redo
...
Translate undo/redo messages in settings dialogs
2023-04-24 16:47:13 +02:00
Rémi Verschelde
e36e0a61e2
Merge pull request #76352 from MewPurPur/add-physical-bone-icon
...
Add missing PhysicalBone2D icon
2023-04-24 16:46:48 +02:00
Rémi Verschelde
f64544a960
Merge pull request #76311 from aaronfranke/t2d-basis-det
...
Expose `determinant` in Transform2D, rename internal method
2023-04-24 16:46:24 +02:00
Rémi Verschelde
1f76ad0286
Merge pull request #76279 from TheSecondReal0/buttongroup-unpress
...
Add an option for ButtonGroups to be unpressed
2023-04-24 16:46:00 +02:00
Rémi Verschelde
c0ee2b4968
Merge pull request #76145 from manueldun/usability-auto-indent
...
Fix auto-indentation in typed arrays, comments, and after colon
2023-04-24 16:45:35 +02:00
Rémi Verschelde
91bcfa8896
Merge pull request #76122 from spanzeri/fix_animation_snap_slider_crash
...
Fix editor spin slider remaining editable if set read_only during and edit and fix related animation player crash
2023-04-24 16:45:09 +02:00
Rémi Verschelde
d45c6fd591
Merge pull request #76095 from adamscott/fix-rename-lsp-variables
...
[LSP] Fix GDScript inner method variable rename
2023-04-24 16:44:44 +02:00
Rémi Verschelde
13544fb508
Merge pull request #75759 from TokageItLab/reimplement-grouped-statemachine
...
Rework for nested `AnimationNodeStateMachine`
2023-04-24 16:44:21 +02:00
Rémi Verschelde
4970c52a7a
Merge pull request #75640 from bruvzg/mem_info
...
[OS] Implement and expose to scripting APIs `get_memory_info` method instead of old `get_free_static_memory`.
2023-04-24 16:43:55 +02:00
Rémi Verschelde
54b0e8123e
Merge pull request #75605 from anvilfolk/type-base
...
Make GDScript type not found errors more informative.
2023-04-24 16:43:32 +02:00
Rémi Verschelde
ee38afc350
Merge pull request #75016 from timothyqiu/watch-out
...
Fix TouchScreenButton not redrawn when texture changes
2023-04-24 16:43:06 +02:00
Rémi Verschelde
dfee04ae2a
Merge pull request #74632 from davthedev/tabs-hover
...
Add theming support for hovered tabs
2023-04-24 16:42:38 +02:00
sodaJar
464a299d2e
Fix wrong file on function call error
2023-04-24 15:30:51 +02:00