summaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-08-02 14:45:44 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-08-03 12:07:21 +0200
commit858e8748e817e99509d1a8e03c9ee6b309def81e (patch)
treee56898b2a94fcb9a4b20ca23ee3593f03e4c1e27 /misc
parentdc05278b03851df00f4cf5e70d20764892cbe90f (diff)
downloadredot-engine-858e8748e817e99509d1a8e03c9ee6b309def81e.tar.gz
Fix or workaround recent extension API compatibility issues
- Add compatibility methods for `RenderingDevice::shader_create_from_bytecode` and `CodeEdit::get_text_for_symbol_loopup`. - Silence errors which now have compatibility methods. - Acknowledge GraphEdit/GraphNode compat breakage, intended and WIP.
Diffstat (limited to 'misc')
-rw-r--r--misc/extension_api_validation/4.0-stable.expected70
-rwxr-xr-xmisc/scripts/clang_format.sh2
2 files changed, 63 insertions, 9 deletions
diff --git a/misc/extension_api_validation/4.0-stable.expected b/misc/extension_api_validation/4.0-stable.expected
index 380c1d5193..9dc852d5b9 100644
--- a/misc/extension_api_validation/4.0-stable.expected
+++ b/misc/extension_api_validation/4.0-stable.expected
@@ -4,8 +4,21 @@ This file contains the expected output of --validate-extension-api when run agai
Only lines that start with "Validate extension JSON:" matter, everything else is considered a comment and ignored. They
should instead be used to justify these changes and describe how users should work around these changes.
+Add new entries at the end of the file.
+
========================================================================================================================
+Misc
+----
+Validate extension JSON: API was removed: classes/FramebufferCacheRD
+Validate extension JSON: API was removed: classes/UniformSetCacheRD
+
+FIXME: These aren't written when dumping the interface with a headless build
+(since there's no RD backend in use). We need to fix this inconsistency somehow.
+
+
+## Changes between 4.0-stable and 4.1-stable
+
GH-78517
--------
Validate extension JSON: Error: Field 'classes/DisplayServer/methods/global_menu_add_check_item/arguments/2': default_value changed value in new API, from "" to "Callable()".
@@ -36,10 +49,12 @@ Validate extension JSON: Error: Field 'classes/RenderingServer/methods/instances
The previous argument was a serialization bug, there's no actual API change.
+
GH-78237
--------
Validate extension JSON: Error: Field 'classes/WebRTCPeerConnectionExtension/methods/_create_data_channel/return_value': type changed value in new API, from "Object" to "WebRTCDataChannel".
+
GH-77757
--------
Validate extension JSON: Error: Field 'classes/Viewport/methods/gui_get_focus_owner': is_const changed value in new API, from false to true.
@@ -136,13 +151,6 @@ Navigation avoidance was reworked entirely.
Migration: TODO
-GH-?????
---------
-Validate extension JSON: API was removed: classes/FramebufferCacheRD
-Validate extension JSON: API was removed: classes/UniformSetCacheRD
-
-Unsure where these come from; when dumping the interface, these do actually still exist
-
GH-76176
--------
Validate extension JSON: Error: Hash changed for 'classes/EditorInterface/methods/get_base_control', from 31757941 to A5E188F5. This means that the function has changed and no compatibility function was provided.
@@ -260,7 +268,6 @@ Validate extension JSON: Error: Field 'classes/SyntaxHighlighter/methods/get_tex
Function was made `const`. No adjustments should be necessary.
-
GH-75250 & GH-76401
-------------------
Validate extension JSON: Error: Hash changed for 'classes/RichTextLabel/methods/push_paragraph', from 3DD1D1C2 to BFDC71FE. This means that the function has changed and no compatibility function was provided.
@@ -359,6 +366,9 @@ Validate extension JSON: Error: Hash changed for 'classes/UndoRedo/methods/creat
Added a optional parameters with default values. No adjustments should be necessary.
+
+## Changes between 4.1-stable and 4.2-stable
+
GH-79911
--------
Validate extension JSON: Error: Field 'classes/RenderingDevice/enums/BarrierMask/values/BARRIER_MASK_RASTER': value changed value in new API, from 1.0 to 9.
@@ -379,3 +389,47 @@ Validate extension JSON: Error: Field 'classes/RenderingDevice/methods/barrier/a
Validate extension JSON: Error: Hash changed for 'classes/RenderingDevice/methods/barrier', from 0FE50041 to DD9E8DAB. This means that the function has changed and no compatibility function was provided.
Raster barrier was split into vertex and fragment barriers for use in mobile renderer.
+
+
+GH-79308
+--------
+Validate extension JSON: API was removed: classes/GraphEdit/methods/get_scroll_ofs
+Validate extension JSON: API was removed: classes/GraphEdit/methods/get_snap
+Validate extension JSON: API was removed: classes/GraphEdit/methods/get_zoom_hbox
+Validate extension JSON: API was removed: classes/GraphEdit/methods/is_using_snap
+Validate extension JSON: API was removed: classes/GraphEdit/methods/set_scroll_ofs
+Validate extension JSON: API was removed: classes/GraphEdit/methods/set_snap
+Validate extension JSON: API was removed: classes/GraphEdit/methods/set_use_snap
+Validate extension JSON: API was removed: classes/GraphEdit/properties/snap_distance
+Validate extension JSON: API was removed: classes/GraphEdit/properties/use_snap
+Validate extension JSON: API was removed: classes/GraphNode/methods/is_comment
+Validate extension JSON: API was removed: classes/GraphNode/methods/set_comment
+Validate extension JSON: API was removed: classes/GraphNode/properties/comment
+Validate extension JSON: Error: Field 'classes/GraphEdit/properties/scroll_offset': getter changed value in new API, from "get_scroll_ofs" to &"get_scroll_offset".
+Validate extension JSON: Error: Field 'classes/GraphEdit/properties/scroll_offset': setter changed value in new API, from "set_scroll_ofs" to &"set_scroll_offset".
+
+Intentional compatibility breakage during refactoring of API marked as experimental.
+
+FIXME: Still a WIP, review this list once the work is completed, especially if compatibility
+code is added.
+
+
+GH-73196
+--------
+Validate extension JSON: Error: Field 'classes/CodeEdit/methods/get_text_for_symbol_lookup': is_const changed value in new API, from false to true.
+
+Function was made `const`. No adjustments should be necessary.
+
+
+GH-78328
+--------
+Validate extension JSON: Error: Field 'classes/TileMap/methods/get_used_rect': is_const changed value in new API, from false to true.
+
+Function was made `const`. No adjustments should be necessary.
+
+
+GH-79606
+--------
+Validate extension JSON: Error: Field 'classes/RenderingDevice/methods/shader_create_from_bytecode/arguments': size changed value in new API, from 1 to 2.
+
+Added optional argument. Compatibility method registered.
diff --git a/misc/scripts/clang_format.sh b/misc/scripts/clang_format.sh
index 74a8e1a8a3..40d94d4276 100755
--- a/misc/scripts/clang_format.sh
+++ b/misc/scripts/clang_format.sh
@@ -21,7 +21,7 @@ fi
# Fix copyright headers, but not all files get them.
for f in $files; do
- if [[ "$f" == *"inc" ]]; then
+ if [[ "$f" == *"inc" && "$f" != *"compat.inc" ]]; then
continue
elif [[ "$f" == *"glsl" ]]; then
continue