Aaron Franke (7): [3.x] Add documentation to operators for math types [3.x] Backport some APIs in math structs [3.x] Add a Time singleton Warn when using an AABB or Rect2 with a negative size [3.x] Misc build system fixes [3.x] Document InputEventMIDI and add some missing 0xF MIDI messages Skip formatting .bat files in file_format.sh Aaron Record (1): Scrollwheel (w/o ctrl) to zoom, mouse warping when panning Andrii Doroshenko (Xrayez) (1): Fix `GradientTexture2D` not working with `Light2D` Anilforextra (2): Fixed awkwardly named AnimatedSprite Setters. Path2D: Check points count before rendering. Anton Christoffersson (1): Fixed crash in `ScrollContainer` _notification Arnav Vijaywargiya (1): Fixed incorrect property types Bartłomiej T. Listwon (3): Don't ignore the type mismatch in setter function Windows: Simplify QueryPerformanceCounter usage UWP: Simplify QueryPerformanceCounter usage Bastiaan Olij (3): Fix size issue for ARVR managed viewport Fix issue with external textures being freed by Godot Wrong call for create_offscreen_gl Benjamin Armstrong (1): Clarify how 'audio/driver/output_latency' project setting works BimDav (1): expose Variant operator= to GDNative Brian Semrau (3): Prevent obj importer from printing misleading error Expose Thread::get_main_id in core bindings Fix GPU particles transform feedback for WebGL 2 BrunoSXS (1): Fixes a game crash caused by instantiating Camera2D and sending a notification from it before adding it to the tree. Chaosus (7): Removed incorrect autocompletion of matrixes in shader [3.x] Prevent return statement from using in block in shader main func Fix ^= operator in shaders [3.x] Restore shader parsing errors with lack of semicolon in a block [3.x] Prevent writing incorrect shader hints [3.x] Add hints and default values to the uniform nodes in visual shader Allow pass varyings as out param to the function, when it's possible Christoph Nelles (1): Tree: Fix de-select when selection mode set to SELECT_ROW Clay John (1): Update CanvasItem when MultiMesh instance transform changes Cnidarias (1): Fix http limitation for large "content-length" Cory Petkovsek (1): Clears RIDs wherever they are freed by VisualServer or PhysicsServer and possibly reused. Fixes #53374 Daniel Kolesa (1): Add support for PowerPC family Danil Alexeev (1): Add BBCode escape sequences David Cambré (1): Update default port_grab_distance_vertical David Sichma (1): Fixed pre-commit-black file extensions David Snopek (1): Switch WebXRInterface from using external textures to using the render targets from Godot Dominik 'dreamsComeTrue' Jasiński (1): Add "Replace in Files" functionality to text editors Edward Auttonberry (1): Variants and targets are generated instead of manually defined. The specific details for each configuration are logically separated from the generators Eric (1): Fix condition on 'jump to limits' logic Erik Selecký (1): Implement UndoRedo::Operation destructor Fabio Alessandrelli (9): [HTML5] Call glGetBufferSubData directly from C++. [HTML5] Fix input not focusing canvas. [HTML5] Add checks to Gamepad API events. [HTML5] Fix focus (again) in Firefox's iframes. [HTML5] Use compatibility function for glGetBufferSubData. [HTML5] Use absolute path for JS lib/pre/externs. [HTML5] Fix multi-touch input handling. [Net] Fix WebRTC returning packets from peers too early. Bump mbedtls to 2.16.12 Fernando Cosentino (1): Added material_overlay property to MeshInstance Francois Belair (3): Make EditorSpinSlider wait for text on key_up/down Prevent LSP adding signal func to non GDScripts Remove extraneous return to LSP Fredia Huya-Kouadio (5): Add support for OpenXR export configurations. Add configs to specify the min and target sdk versions. Add support for configuring the xr hand tracking frequency mode Enable configuration of the `android:excludeFromRecents` activity attribute. Fix Android Studio builds. Gergely Kis (1): Fix debug build for iphone Giwayume (2): Fix texture atlas generation when source sprite is larger than generated atlas Fix edge case where 1px cut off from right of image Haoyu Qiu (32): Fix RichTextLabel underline appearance when inside fill tag Add methods to remove theme overrides Add missing characters for property name quoting Allow toggle TextEdit bookmark gutter Fix crash when executing PackedDataContainer._iter_init Fix Theme Editor crash when clicking the element picker Fix potential infinite loop when connecting HTTPClient Fix various misused code tag in classref Fix mouse cursor and notification for force dragging Fix EditorPlugin.remove_inspector_plugin() instance cleanup Center the indeterminate spinner on HTML5 page Fix broken links in Class Reference Fix indentations in class reference XMLs Fix Color.v integer assignment Fix incompatible addition in auto exposure shader Make `--doctool` locale aware Add proxy support for `HTTPClient` and the editor Fix font preview text color on light background Improve axis awareness and visibility for Position2D and Position3D Update `make_rst.py` for non-latin texts Add / to the unix shortcut drive list Alpha channel indicates opacity, not transparency Use tool instead of at-tool in 3.x documentation Clear pending function states when reloading GDScript Unify similar method descriptions Add missing break in NavigationObstacle2D Misc documentation improvements Fix BBCode underline prevents strikethrough from rendering i18n: Make VisualScript node caption & text translatable Explain what 2D cross product means Fix crash on importing FBX file Add drag start/end signals for Slider Hendrik Brucker (1): Add GradientTexture2D Hristo Stamenov (1): Fix import for collections Mapping Hugo Locurcio (45): Add a Viewport property to use full floating-point precision in HDR Use early bailing to improve 3D shadow filtering performance in GLES3 Implement Alt + Mouse wheel to adjust FOV in the 3D editor viewport Improve appearance of the editor Debugger bottom panel menu Tweak overbright indicator icon to be more visible on white background Improve the appearance of simple parallax in SpatialMaterial Tweak animation editor icon colors for easier visual grepping Add keyboard shortcuts for grouping and locking nodes, change grid toggle Remove hash symbol in front of opcode error messages in GDScript Display 2 decimals instead of 1 in editor frametime labels Move Mono unhandled exception setting to be located within a subsection Use Enter instead of F2 as an editor renaming shortcut on macOS Fix outdated SCons macOS build message Document low performance when using `SurfaceTool.append_from()` in thread Improve the GIProbe and BakedLightmap class documentation Use a different icon for eased keyframes in the animation editor Print the number of PulseAudio input channels when in verbose mode Swap rest pose actions in the Skeleton2D editor Tweak the built-ins color highlighting in the shader editor (take 2) Add `const` qualifier support for function arguments in shaders Add a project setting to disable the boot splash image Document the engine's use of internal groups in Node Print a warning with unknown SCons variables to ease troubleshooting Tweak ReflectionProbe update mode property hint to mention performance Draw the filled part of the slider on float EditorSpinSliders Only print message for `get_modified_time()` failure when in verbose mode Add an `OS.crash()` method for testing system crash handler Document SceneTreeTimer being freed automatically when elapsed Document that RigidBody angular velocity is in degrees per second Document physics simulation being limited to 8 ticks per rendered frame Document sampling a TextureArray with sRGB -> linear conversion Improve accent color modulate visibility for the Anchor editor icon Only print OpenGL 2D batching status when in verbose mode Document Viewports rendering upside-down by default Improve the ReflectionProbe class documentation Make EditorSpinSlider grabbers thicker to be more noticeable Print requested V-Sync mode when Print Fps is enabled Document the expected format of anisotropy flowmaps in SpatialMaterial Split 3D editor sensitivity freelook sensitivity into its own setting Improve `lerp()`, `lerp_angle()` and `inverse_lerp()` documentation Improve the CameraServer and CameraFeed class documentations Improve the CanvasItem class documentation Warn when using GPU-based particles on macOS due to low performance Document keyboard ghosting caveats in Input and InputEvent Improve error when attempting to build with `tools=yes target=release` Ibrahn Sahir (2): AudioDriverPulseAudio: move Vector Cow access outside tight loop. Turn off physics servers in the Project Manager. Ignacio Etcheverry (3): Don't box params on Native->C# calls with Variant params C#: Fix property set call boxing value when unboxed was expected C#: Don't use ActivityThread to determine Android nativeLibraryDir Jake Young (1): Backport NavigationServer with RVO2 to `3.x` Jason Knight (1): Android export plugin passes absolute file paths to gradle for keystores. Jean-Michel Bernard (2): Display an error message in settings when autoload name is invalid Fix PopupMenu bad item offset with custom vseparation Jordan Schidlowsky (2): [Net] ENet now sends fragmented packets unreliably too. [Net] ENet poll now only service the connection once. Josh Jones (1): Fix request headers being included in response. Julian Adamse (1): Fix the volume calculation for cylinders Jummit (1): Highlight hovered inspector categories K. S. Ernest (iFire) Lee (2): Fix wrong RGBA channel mapping when saving OpenEXR. Skip Draco-compressed glTF 3d format files. Kodi (1): add missing emit_changed() to set update mode function Kongfa Waroros (1): Fix little typos in 3.x doc LATRio (1): Add type validations when setting basic type LeaoLuciano (1): Fix memory leak in RichTextLabel.remove_line Lenny Critchley (1): Add error condition for Control EXIT_TREE notif Lertsenem (1): Fix error in Vector2.reflect() description LlamaLad7 (1): Editor: Resolve being able to move control nodes in containers using arrow keys Lucas Ângelo (1): Trunc shader function fixed Luis Sanchez (1): Fix files_dropped in HTML5 export. (Ignore trailing slash when creating the temporary directory) Manolis Papadeas (1): Fix link to the supported image formats in the Image class Marcel Admiraal (12): Remove unimplemented methods Ignore Bullet collision contact points with distance = 0 Update Bullet Area overlaps when Area properties or shapes change. Trigger RigidBodyBullet space override updates when Area properties change. Add area to moved list when changing monitorable, and only remove area from query when deleting pair if it was monitorable. Give each RigidBody its own DirectBodyState wrapper. Add shape data to area overlap data. Fix Android `get_screen_orientation()` not returning valid values Allow any kind of Mesh to be added to an EditorSpatialGizmo Only rotate Android sensor values for sensors that need them rotated Revert "[3.x] Fixed event spam when using the Nintendo Switch controller" Fix tablet tilt values returning bad values Mark Riedesel (1): Fix glTF cubic spline track interpolation incorrectly reporting times/values size mismatch (3.4 specific) Maverick Liberty (1): ResourceImporterScene: Add error when "default" is not defined to create clips Max Hilbrunner (4): Websockets: Fix buffer size checks in put_packet() README updates and improvements, link license page Fix docs links in 3.x after docs reorg Windows input: fix bracket -> brace for US input Micky (1): Various improvements to Camera2D's documentation Morris Tabor (1): Fix the importer dock being blank when selecting multiple files. NHodgesVFX (1): Add more OpenGL Attributes Nathan Franke (1): Use application name for pulseaudio device Nick Swoboda (1): Improve error messages related to failing to open files Omar El Sheikh (2): Fix Vertex Attribute Specification Octahedral Fix Blend Shapes when Octahedral Compression is Used Paweł Fertyk (1): Issue 56488 fail when image and texture size are different Pedro J. Estébanez (17): Unify determination of default property values Add property value pinning Avoid the need for copy assignment in HashMap key/data types Implement get_cache_path() for iOS, and improve it for Android and Windows Add off-screen GL context Add ProjectSettings::set_hide_from_editor() Implement async shader compilation plus caching for GL ES 3 Add recursive comparison to Array and Dictionary Fix detection of non-default and overridden property values in scenes Drop broken Android 32-bit framebuffer setting Fix crash when loading scene instance after node vanished from parent Rationalize Node removals and deletions Fix atlassed lightmaps not visible on GL ES 3 Stop asuming a default value of NIL means there's no default Clear only owners that are no longer in the same tree Assume that non registered properties default to null Fix too broad assumption of null property defaults Pierre-Thomas Meisels (1): OSX: Add signing of directory structure in Library when exporting for OSX. PouleyKetchoupp (12): Fix errors in mouse detection when removing collision object from tree Fix SoftBody memory corruption when using invalid mesh Fix SoftBody memory corruption when switching mesh at runtime Fix RigidBody collision update after changing collision layer/mask Add X11 events logging for debug purpose Expose intersect_point in 3D physics server Add support for motion in 2D intersect_shape function Fix errors in KinematicBody when floor is destroyed or removed Fix test_move reporting collision when touching another body Fix physics BVH pairing for teleported or fast moving objects Fix shape index in multiple physics queries with Bullet Handle test body motion with 0 margin PucklaMotzer09 (1): Unfocus Control on NOTIFICATION_EXIT_TREE Raffaele Picca (5): Fix Ring-Axis parameter being always visible Fix for double use of seed in random Particle shader variables. Fixed texture animation speed when using random lifetime GPU Particles (2D + 3D) visibility rect / gizmo optimization for reduced visual clutter Random initial color for all Particle Nodes Raul Santos (8): Skip script property in remote object property list Fix get_all_delegates method for generic classes Various fixes to C# documentation Expose `ScriptEditor::edit` to scripting Check a csproj exists before trying to edit it Fix getting properties state when reloading C# Init `params_buffer_size` member in GDMonoMethod Fix `KeyValuePairAt` memory leak Red Headphone (1): progress_offset now added to reference cross draw function RedMser (1): Fix glTF scene export crash on null normal texture Ryan Roden-Corrent (3): Clamp rotation for up/down orbiting shortcuts. Document how to autoscroll ScrollContainer. Copy/Paste property paths/values in inspector. Rémi Verschelde (56): GDScript: Support multiline indexing with `[]` Bump version to 3.5-beta Modules: Make sure to include `modules_enabled.gen.h` where needed Rect2: Clarify docs for `has_point` excluding bottom and right borders CharProxy: Add copy constructor Windows: Enable `/bigobj` to increase max size for obj files Allow dehardcoding documentation branch and URL in docs links Replace Godot docs URL with `$DOCS_URL` in XML class reference Revert "Fix UndoRedo::Operation objects cleanup" Windows: Use `/bigobj` only for debug builds, breaks GCC LTO i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate certs: Sync with Mozilla bundle as of Nov 1, 2021 tinyexr: Sync with upstream 1.0.1 libogg: Update to upstream 1.3.5 pcre2: Update to upstream version 10.39 xatlas: Sync with upstream ec707faea zstd: Update to upstream version 1.5.0 libwebp: Sync with upstream 1.2.1 libvorbis: Sync with upstream 1.3.7 wslay: Sync with upstream 45d22583b doc: Fixup Tabs reference after cherry-pick Remove editor splash screen with sponsors logo EditorInspector: Add missing arg names for GDNative Revert "Expose Variant operator= to GDNative" Viewport: Fixup dragging code after a0fb66d Revert "Fix particles emitting at old location" SceneTree: Document font oversampling, remove warnings Revert "Print a warning with unknown SCons variables to ease troubleshooting" Sync controller mappings DB with SDL2 community repo i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate i18n: Remove deleted translations from PO files glTF: Cleanup includes and defines, split PackedSceneGLTF to own file i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate i18n: Sync classref translations with current docs Sync controller mappings DB with SDL2 community repo Update AUTHORS and DONORS list i18n: Sync editor translations with Weblate i18n: Remove line numbers from classref PO files i18n: Sync classref translations with Weblate i18n: Sync classref translations with 3.x branch (3.5-beta) i18n: Add `--lang` option to `make_rst.py` to write translated headings CI: Update links to regression test project and prebuilt SwiftShader bullet: Sync with upstream 3.21 Fix typos with codespell i18n: Sync editor translations with Weblate (last 3.4 sync) i18n: Sync template with current 3.x codebase i18n: Make more `make_rst.py` strings translatable i18n: Sync classref translations with Weblate i18n: Sync classref translations with current 3.x codebase Fixup class reference after #54824 Revert "Warn when using an AABB or Rect2 with a negative size" i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Sam (1): Fixed typos in MeshDataTool documentation Sam Lantinga (2): Fixed event spam when using the Nintendo Switch controller Fixed detecting the Valve Streaming Gamepad Saracen (3): Clean preview_node of all none VisualInstances Prevent saving branches in foreign scenes Fix selection of CSG objects Steve Szilágyi (1): VehicleWheel can now return the surface it's colliding with. Tomasz Chabora (42): Fix editor saving blank scenes (for real) Expose String.get_slice Ignore external editor for built-in scripts Properly handle scenes in Find in Files Show built-in script names in the debugger Mention how to add margins to Button's icon Fix TileSet editor workspace breaking Fix data directory of unnamed projects Allow to name built-in scripts upon creation Show tooltips even when paused or time_scale is 0 Improved some editor checkboxes Mention that replace_by doesn't free the node Correct the doc about ease() Clarify get_indexed in relation to Nodes Ignore override.cfg when in editor Fix right alignment in RichTextLabel Show scene when showing built-in script file Don't show tooltips for paused controls Improve language lists in localization editor Mention that Ctrl+Alt with select tool will scale Improve store_string() description Show mouse position when clicking ruler tool Improve save handling for built-in scripts Properly reload built-in tool scripts Bind column_titles_visible as property Allow to add RESET values from existing keys Fix custom built-in script names Mention what happens if find_node() fails Allow to copy foreign nodes Document get_minimum_size not called in some nodes Improve docs about plugin registration Fix method validation in Thread Fix TabContainer not setting layout immediately Add drag and drop for NodePaths Don't edit foreign resources when restoring scene Fix get_v_scroll() desctiption in ItemList Make Import Dock more obvious to use Add physics material to GridMap Fix TextureButton focus texture logic Improve description of mouse_exited signal Improve FileDialog filters Set max value of inactive TextEdit scrolls to 0 Univeous (1): Fix UI navigation with joysticks Vincent (2): Fix crash when loading an invalid mp3 file AudioStreamMP3: expose loop properties to the editor Will Jordan (1): Fix crash on macOS (AS) when dualshock4 is removed Wilson E. Alvarez (5): Fix 'Add Node...' menu entries in AnimationNodeBlendTreeEditor Set default priority on PRIME detection vendor struct. Expose String::join over to GDScript Map 64-bit versions of String.to_int and String.hex_to_int over to GDScript Expose autotile_coord parameter in TileMap.set_cellv Yuri Sizov (10): Add methods to get position from column and line in TextEdit Fix a crash in editor's script parent class check Make default/project theme wait for modules before initializing Sort and group theme properties in docs, improve formatting for theme and enums Allow scrolling theme preview when the control picker is active Make overridden properties link to parent definition Improve user communication in the Add Item Type dialog Fix return type for the exposed EditorResourcePicker method Make the theme editor correctly stop updating after it was hidden Fix an incorrect exposed property type in Tree Zae (3): Fix ViewportPreview upside-down in 3.x. [3.x]Fix BaseButton's localization for tooltip text with shortcut [3.x] [Mono] Add support for file-scoped namespace declaration. ator-dev (1): Prevent hidden tab close buttons from intercepting input [3.x] belzecue (1): Update CharFXTransform: explain "relative index"/"absolute index" (previously identical) boruok (1): fixed typo in NavigationPolygon doc bruvzg (18): [macOS] Enable multithreaded OpenGL engine flag when using multithreaded VisualServer. Implement limited surrogate pairs support for platforms with 16-bit wchar_t. [iOS export] Capture and display xcodebuild output. [macOS] Use pre-wait observer to keep main run loop running and redraw window during the window resize and displaying modal popups. [Export] Read and ZIP project files in 16K chunks instead of reading the whole file at once. Add Input.is_physical_key_pressed method. Fix RTL min/max line width calculation. [macOS] Fix driver crash when enabling per-pixel transparency on M1 macs. Add DynamicFontData oversampling override property. [macOS] Fix crash handler not printing function names on M1 Macs. [Windows] Open a new console window for the editor instances. [Windows] Detect new Windows Terminal and disable unsupported set_console_visible code. [Windows] Improve console handling and execute. [macOS] Fix OpenGL flickering. Fix decoding UTF-8 filenames on unzipping. Fix multiple missing UTF-8 decoding. Add joystick button index boundary check. Increase max. button number to 128 (max. buttons supported by DirectInput). [macOS] Improve window activation hack. cdemirer (1): Clarify that replace_by keeps child nodes in tree fabriceci (1): backport moving_platform_apply_velocity_on_leave floppyhammer (1): Fix nine patch of circular TextureProgressBar follower (1): Fix the "AudioEffectRecord" descriptions. jabcross (1): Allow selection in asset description janglee (1): VCS: Add push, pull, fetch and improved diff view to VCS UI jitspoe (1): Fix crash when exporting gltf mesh that has no skin. kleonc (5): Clarify Transform.xform_inv docs TileSetEditor Fix selecting next/previous subtile Add Image::fill_rect method Image Use memcpy() in fill(), fill_rect(), _put_pixelb(), _get_pixelb() EditorAtlasPacker Fix incorrectly deducing zero height in some cases lawnjelly (13): Faster editor line drawing - Path2D and draw_line Portals - Allow user to set roaming expansion margin [3.x] Add Basis helper functions for transforming normals BVH - detect shrinkage within expanded bounds BVH - fix typename compiler warning BVH - add option for expanded AABBs in leaves Add option to use handles to RID Fix incorrect RID cleanup in Rasterizers Fix leaking environment RIDs in GLES2 RID tracked handles better error messages for dangling RIDs Fix lighting_dirty flag bug Visibility Notifier / Enabler classref mention Portals Fix add_line width being too wide raphaelazev (1): Added check to get_all_locales to avoid adding duplicate locales to array robfram (2): Only visible TileMaps should add light occluders Fix particles emitting at old location skyace65 (6): Improve mouse input event class reference State that get static memory usage only works in debug Add warning to only use convex hull points when setting the point property for convex polygon shape Add note om when tween methods return false (3.x) Document how to erase project settings with set_setting Fix normal map description snailrhymer (1): Fix descriptions of set_cell and set_cellv in TileMap.xml vdyotte (1): fix hardcoded raycast distance with viewport object picking vitika9 (1): Added check for SceneTree being null zacryol (5): Fix description of Viewport `find_world_2d()` method. Clarify usage of TabContainer Update description of FileDialog `filters` property List AnimatedSprite3D in SpriteFrames description Reword "Open Project Data Folder" as "Open User Data Folder"