31 (1): Fix 'script_class' null access when reloading a deleted C# script Aaron Franke (17): Warn when creating a script with the same name as the parent class Update size when updating ScriptCreateDialog [3.x] Make is_equal_approx have explicit float and double versions Set a minimum size for status panel elements in ScriptCreateDialog Use global scope round method for rounding [3.x] Fix Camera FOV documentation Rename tabs in the project manager [3.x] Fix C# bindings generator for default value types [3.x] Add Quat angle_to method [3.x] Allow reading shaders from .gdshader files [3.x] Add raw strength value for internal use [3.x] Allow getting Input axis/vector values from multiple actions [3.x] Add a simple C# .editorconfig Add documentation to Array in C# Fix CSGSphere3D mesh creation [3.x] Fix building with the FreeType module disabled [3.x] Improve the docs for the float type Aitor Cereceto (1): Fix SceneTreeDock::_selection_changed Andrea Catania (2): Remove early return from gizmo intersect_ray Add env.Depends to modules_enabled.gen.h generator Andrii Doroshenko (Xrayez) (6): Separate version hash from version number in editor and project manager Use "Delete" in FileSystemDock on all platforms Make `EditorVCSInterface` proxy functions virtual in C++ Set minimum size for "Version Control" diff bottom panel VCS: Allow to stage and commit all files with Ctrl + Enter Add Engine.print_error_messages property to disable printing errors Anilforextra (2): Add missing graphnode setters. Documentation Updates. Remove unused swap template. Arkadiusz Marcin Kołek (1): Avoid division by zero when calculating inertias for bodies with colliders without areas. Arthur Bikmullin (1): Fixed missed IDHandler dependency in GodotFetch Arthur Paulino (1): Updating KinematicBody2D "is_on" functions' descriptions Atlinx (1): Add scaling to the curve editor's handles Bartłomiej T. Listwon (3): Separate set.h from map.h pywin32 is no longer necessary for SCons install Change search results limit in FileSystem dock from 128 to 10000 Bastiaan Olij (5): Change ARVRPositionalTracker to a reference and better expose it to GDNative Add VIEW_INDEX variable in shader so we know which eye/view we're rendering for Add precision to view_index Combined the DOF far and DOF near passes Revert "Combined the DOF far and DOF near passes" Bhuvan Vemula (1): instance-scene: make parent as edited_scene if no parent selected. Brennen Green (1): Manually unpacked normal mapping to fix issue with refraction being offset rather than distorted. Brian Semrau (1): Batching fix polygon basis polarity CaptainProton42 (1): Fix 3D scene preview generation. Casey Foote (1): Add support for generating noise images with an offset. Chaosus (21): Prevents incorrect connection attempt on port clicking in GraphEdit, cherry-picked for 3.x Fix GraphEdit reconnecting to disconnected port, cherry-picked for 3.x Fix GraphEdit connects when graph is zoomed/unzoomed, cherry-picked for 3.x [3.2] Prevents default values of VSNodeCustom from overriding by a script Fix shader crash if duplicated struct members created Prevents shader crash if passing invalid struct to the return statement Prevents shader crash if two struct with the same name are declared Fix doc theme not changing when its hidding [3.x] Makes shader 'TIME' available in custom functions by default Backport latest varying fixes to 3.x Backport latest varying fixes to 3.x (2) [3.x] Implemented global const array to shaders Fix varying usage in custom functions [3.x] Fix crash on doc dragging in script list panel Prevent warning spam to console when dragging a CanvasItem in container [3.x] Prevents some warnings from appearing in visual scripts [3.x] Fix a default shader specular render mode to (SCHLICK_GGX) Fix incorrect position of the created VisualShader nodes on zoomed graph Fix shader crash when using varying array in fragment->light context Allow using more assignment operators on matrixes in shaders [3.x] Fix shader crash when using local var with the same name as varying Chuck (1): Support multiple address resolution in DNS requests Clay John (8): Fix multimesh being colored by other nodes GLES3 Force vertex shading in SpatialMaterial when used Only set base in Sprite3D when needed Add horizon specular occlusion Make blinn and phong specular use full pbr Allow unclamped colors in Sprite3D Define normal_attrib when not using octahedral compression in GLES3 Normalize the results of octahedral decompression Cory Petkovsek (2): Calculate instance depth after shadow calculation in VisualServer Add Anisotropic Filtering option for TextureArrays Daniel Lungaro (1): Remove plugin from enabled if there's an error Danil Alexeev (1): [3.x] Fix "Property not found: editor/node_naming/name_casing" David Cambré (3): The built in function math/seed was missing the sequenceport. Allow dropping custom node scripts in VisualScript editor Improve and streamline VisualScriptFuncNodes Call Set Get David Hoppenbrouwers (1): Fix joint RID not being passed to _set in PhysicalBone David Kennedy (1): Fixes move_to_trash() on Linux Fixes #42840 OS move_to_trash() on Linux is not compliant with the Freedesktop specification David Snopek (4): Fixes #48178: WebXR broken when built with Emscripten 2.0.13 or later Fix "IDHandler.get_prop is not a function" error when calling some methods on WebRTCDataChannel Add get_buffered_amount() to WebRTCDataChannel Update GDNative API version for changes from #50659 Dipal M Zambare (1): Fixes 50428, added missing checks for image lock Distrikt64 (1): Fix msec documentation description typo Dominik 'dreamsComeTrue' Jasiński (1): Make Animation's SceneTreeDialog filter nodes properly Ellen Poe (2): Revert "Implement a new resampling algorithm in AudioStreamPlaybackResampled" Fix Godot's cubic resampling algorithm Emre Aydin (1): Fixed changing enabled classes resetting folding in manage editor features. Eoin O'Neill (1): Attempt to fix rich text label effects processing even when the node is invisible. Eric (1): Enable Camera2D smoothing on limit change Eric M (3): Added 'Select Current' option when user is prompted to select main scene after clicking play Added Node name to print() when printing Nodes. Allow checking for exact matches with Action events. Ev1lbl0w (2): Allow Godot to import .ZIP files with non-regular structure Fix zip_root not being defined when importing by drag&drop Fabio Alessandrelli (37): Better zeroizing in CryptoKey. Add AESContext. CryptoKey supports public keys. Implement sign and verify in crypto. Implement RSA encryption/decryption. Document AES and new Crypto/CryptoKey functions. [HTML5] Debug HttpServer now runs in `web` cache subdir. [HTML5] Optional icon generation, use export name for it. [HTML5] HTTP server uses optional SSL. [HTML5] Export as Progressive Web App. [Net] Fix socket poll timeout on Windows. [HTML5] Fix build for recent emscripten versions. [Net] Implement String::parse_url for parsing URLs. [HTML5] Add support for `physical_keycode`. [HTML5] Use 64KiB chunk size in JS HTTPClient. [HTML5] Remove "fixed-size.html". [HTML5] Fix target_fps when window loses focus. [HTML5] Fix GDNative compilation with emcc 2.0.19+ [HTML5] Implement Godot <-> JavaScript interface. [Doc] Remove reference to UNIX sockets in StreamPeer. [HTML5] Add easy to use download API. [Net] Fix HTTPRquest store_buffer error. [HTML5] Fix some JS library signature. [HTML5] Fix JS build without eval. [HTML5] Update eslint and jsdoc dependencies. [Net] ENet non-relaying server now process broadcasts. [HTML5] Add option to focus canvas on start. [Net] Fix WebSocketClient path parsing. [Net] Add WebSocketServer handshake_timeout property. [Crypto] Delete mbedtls ctx in deconstructor. [HTML5] Fix JavaScript string parsing with new interface. [HTML5] Raise default initial memory to 32 MiB. [HTML5] Add 2 controllers to the godot database. [Net] Fix Marshalls infinite recursion crash. [Net] Fix IP address resolution incorrectly locking the main thread. [Net] Add "dtls_hostname" property to ENet. Update Godot Javascript FS library to manually depend on ERRNO_CODES. Faymoon (1): Let thread func have optional parameter Francois Belair (8): Make LSP update the filesystem of changed scripts Translate file path to URI on LSP symbol requests Add cache to color picker for presets Implement didClose notification in LSP Implement LSP didSave notify and rename request Fix LSP SymbolKind reporting wrong types Fix LSP parsing get_node only from the scene root Fix LSP completion crashing on sceneless scripts Fredia Huya-Kouadio (10): Add support for custom debug keystore. Update config versions and deprecate the use of the jcenter maven repo. Disable resource optimizations for release builds as it breaks the legacy build system. Fix custom build export Update external texture flag configuration. Resolve issue where the Godot app remains stuck when resuming. Add support for prompting the user to retain app data on uninstall. Add partial support for Android scoped storage. Fix possible null pointer exception. Delegate handling and implementation of the restart functionality to the Godot host. Gallilus (1): Change "Add Preload Node" action to "Add Node(s)" Georg Wacker (1): Fix vertical scroll/zoom for precision touchpad Gilles Roudiere (1): Adds a pressed signal to ButtonGroup Gordon MacPherson (3): Octahedral compression fix division by zero and warn Fix octahedral compression with Sprite3D Fix github actions cache server being down failing builds Gromph (1): UWP: Keep upstream names for capabilities preset settings to avoid mismatch HaSa1002 (2): Fix removal of `rect_min_size` not triggering resize Fix CSG Path Polygon cache being removed after connect Haoyu Qiu (48): Fixes display of programmatically created value in remote inspector Fix Tree::get_column_at_position crash Fix ragdoll simulation when parent was readded to scene Fix crash when using get_available_chars with invalid DynamicFontData Fix XMLParser behavior for comments and premature endings Fix editor crash when exporting profiler data Fix STL to Godot type convertion of polypartition Check cache_parent_physical_bone when rebuilding parent cache Wrap description TextEdit of plugin config dialog Fix RichTextLabel auto-wrapping on CJK Don't use the abbrevation "Sep." in UI text Fix json dump and print of circular structure Validate parameters when adding plugins Save binary ProjectSettings key length properly Strip query string when parsing HTTP request line for path Validates the `p_format` parameter in `Image::create` functions. Add numpad emulation in 3D viewport Fix doc description of HTTPClient::request Handle Z_BUF_ERROR in decompress_dynamic Fix unicode invalid skip error in AssetLib Fix memfree parameter name Merge similar editor strings Fix decompression with FastLZ when buffer size is less than 16 bytes Improve add item type UI in theme editor Minor enhancements for the resource options button Fix missing locale names Fix UndoRedo crash when clearing history Fix selection of spaced atlas tile when using priority Fix crash when executing PopupMenu.new()._submenu_timeout() Add check to internal methods to prevent crash Make action names translatable Make progress and errors translatable when exporting to Android Use Command+Drag in EditSpinSlider on macOS Delete the node in AnimationTreePlayer.remove_node Fix NetworkedMultiplayerENet client memory leak Hide open doc button when not inspecting anything Remove colon from column titles Do nothing when dragging CSGBox handle perpendicular to the camera Validates VisualScript.add_node input node Fix various i18n failures Disable save button when Inspector is not editing anything Improve NavigationMesh typing, parameter validation and documentation Fixes crash when AnimationPlayer reset on save Allow dropping property path into script editor Fix i18n of 3D view name Disable "Edit Resource from Clipboard" menu item when nothing in clipboard Improve Undo/Redo menu items Fix TextEditor not checking Standard highlighter in non-English UI Hendrik Brucker (3): Add elapsed time print statement to build system Fix color properties of particle nodes/material StyleBox fake AA improvements (aa_size float property) Henry Conklin (2): Optimize BroadPhase2dHashGrid to not pair elements on different layers Add support for numeric XML entities to XMLParser Hugo Locurcio (136): Deprecate the GIProbe Compress property due to known bugs Tweak lightmapper warning message to mention Rosetta emulation on macOS Link to Feature tags more explicitly in ProjectSettings documentation Strip leading/trailing whitespace for project name in the project manager Improve error messages for missing export presets when using `--export` Add a menu action to open C++ source on GitHub in the editor debugger Tweak error messages for the Save Branch as Scene editor option Display scene file extensions in the editor only if there's ambiguity Allow Center Selection to work without any selection in 2D/3D editors Document that clearcoat/rim lighting is not visible on unshaded materials Document that `SceneTree.call_group()` is deferred Add the About dialog to the project manager Make it possible to copy the Godot version identifier by clicking it Document that `File.open_compressed()` can only open files saved by Godot Allow selecting multiple files in the editor translation/remap dialogs Tweak the built-ins color highlighting in the shader editor Allow negative contrast values in the editor theme settings Improve the AudioStreamPlayer(2D/3D) class descriptions Tweak the setting hint for the custom editor theme setting Fix EditorPropertyResource focus outline being drawn behind the preview Document caveats of `OS.get_unique_id()` Improve the editor audio preview inspector appearance and functionality Save the current script when adding a new method via signal connection Implement the `%command%` placeholder in the Main Run Args setting Save the current script when pressing Ctrl + S if no scene is open Fix Tree's background focus outline displaying behind section headings Display the old color in ColorPicker for easier comparison Hide the 3D editor selection box when View Gizmos is disabled Implement reverting to the old color when clicking it in ColorPicker Fix Ubuntu clang-format version detection in the pre-commit hook Add "Support Godot Development" option to the editor's Help menu Scroll faster when holding Alt in TextEdit (and script editor) Increase the TileSet editor's snap step to 1024 Fix crash when trying to save with no scenes and scripts open Print a warning when importing a repeating NPOT texture in a GLES2 project Remove high radiance sizes from the editor due to issues on specific GPUs Only allow absolute paths in XDG environment variables Remove `#ifdef` catering to MSVC 2012 and earlier in `math_funcs.h` Tweak highlight color in the editor Find in Files dialog List "Argument" for each extra bind argument in the connect dialog Tweak pressed CheckBox appearance in the editor Highlight control flow keywords with a different color Remove duplicate orientation settings in the iOS export preset Tweak Camera2D editor line colors for better visibility Improve the audio bus editor appearance Document `Resource.duplicate()` only copying exported variables' values Uncap the range for gravity and change the slider hints Document `Navigation.get_simple_path()` often returning non-optimal results Add "Normal Map Invert Y" import option for normal maps Readd support for kerning in DynamicFont Allow clang-format 12 in the pre-commit hook Allow more items in automatic width calculation for TextEdit completion Document applying VRAM compression setting changes retroactively Improve the console error logging appearance Add a soft line length guideline to the script editor Tweak the "Changes may be lost!" text color to match the icon's color Remove the 3D camera gizmo icon Improve the editor feature profiles UX Handle portrait mode monitors in the automatic editor scale detection Rename "Singleton" to "Global Variable" in the AutoLoad editor Complete documentation for the AudioEffectPitchShift class Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation Fix editor constantly redrawing when freelook is active with still camera Improve radio checkboxes in the default editor theme Tweak the physics FPS property hint to only allow reasonable values Allow higher and lower maximum zoom values in GraphEdit Fix duplicate paragraph in `ArrayMesh.add_surface_from_arrays()` description Fix game camera override tooltips being swapped Decrease the editor FPS limit when unfocused from 20 to 10 Add a "save on focus loss" editor setting (disabled by default) Add custom debug shape thickness and color options to RayCast Tweak CylinderMesh `rings` property hint to allow a value of 0 Use double-sided material for RayCast Expose OS data directory getter methods Add support for contrast-adaptive sharpening in 3D (GLES3 only) Tweak script export text in the export dialog to be more explicit Print time taken and request attention when lightmaps are done baking Fix flipped binormal in SpatialMaterial triplanar mapping Allow selecting frames by holding down the mouse in SpriteFrames editor Add keyboard shortcuts to the project manager Improve descriptions for ProjectSettings' `disable_stdout`/`disable_stderr` Allow a top and bottom radius equal to 0 in CylinderMesh Use Ctrl + G to toggle the 3D editor grid visibility by default Document debanding being broken on mobile Decrease opacity of the overdraw debug draw mode Tweak the 2D game camera override tooltips to match 3D Add icons for more file types in the editor asset installer Allow using the 3D editor's View menu while previewing a camera Remove unused code related to Travis CI Improve error reporting in WebSocketServer Use the Unicode multiplication symbol for the viewport size display Fix typo in Bullet method name: "collisin" -> "collision" Add a method to set the number of physics solver iterations in 3D Tweak the GradientTexture property hint to follow CurveTexture Make makerst.py create folders automatically, print a message when done Automatically display the installer after downloading an asset Fix casing of the "to" stop word in editor strings Improve 2D editor zoom logic Automatically focus the Search field when displaying asset library Improve scrolling actions in the animation track editor Tweak Light property hints for greater flexibility Prevent accidental drags by adding drag distance threshold Improve the shader error console output Fix duplicate selection in SceneTree Improve tooltips in the editor profiler to mention the script name Display the class name in the description Backport RootMotionView icon from the `master` branch Document the RootMotionView class Improve documentation for GDScript constants Clarify the purpose of the default asset library URLs in the editor Only print message about lightmap baking if it took at least 1 second Add a property to control the bounce indirect energy in BakedLightmap Add shortcut to toggle the 3D editor's camera preview Expose an ImportOrder enum in ResourceImporter Add a tooltip for Inclusive and Self in the editor profiler Document caveats with Control's `mouse_entered`/`mouse_exited` signals Improve the 3D editor manipulation gizmo Document `Image.save_exr()` only being available in editor builds Improve MeshInstance3D UV preview in the editor Use bullet points in the editor instead of dashes where relevant Highlight context menu items at the top of the 2D/3D viewports Link to the Random number generation tutorial in RandomNumberGenerator Improve the 2D editor ruler display Print a warning when the engine is started as `root`/superuser Point at software OpenGL when OpenGL fails to initialize on X11 Change the editor update spinner color when updating continuously Clamp negative colors regardless of the tonemapper to avoid artifacts Enable range coder compression by default in NetworkedMultiplayerENet Allow using the mouse wheel to navigate scene tabs Fix incorrect descriptions for EditorFileSystem's `get_file_type()` Fix Xbox controllers in Bluetooth mode on macOS Add a comment at the top of generated shaders Add editor icons for VisualScript and VisualShader expression resources Port visual shader node icons from Godot 2.1.x Fix tonemap exposure not being taken into account by sharpening Improve the animation bezier editor Iced Quinn (1): doc: Add documentation for JSONRPC class Ignacio Etcheverry (7): Fix copying Mono shared libs on macOS C#+iOS: Fix simulator builds C#+iOS: Fix P/Invoke symbols being stripped by the linker C#+iOS: Fixes for games exported with `Use Interpreter` disabled C#+iOS: Fix crash at exit for passing NULL domain to mono_jit_cleanup Implement CSharpScript::inherits_script() C#+iOS: Cache AOT compilater output Ilaria Cislaghi (5): visual server now sorts based on aabb position fixed particle rotate y flag Added ring emitter for 3D particles added offset for plane mesh and quad mesh fixed rotate y flag causing the position to reset JFonS (6): CPU lightmapper environment energy fixes. Switch to embree-aarch64 Add checks for __SSE2__ in the lightmap raycaster Fix swapped front/rear directions in viewport rotation control. Upgrade Embree to the latest official release. Add soft shadows to the CPU lightmapper Jason Knight (2): Emit button_up signal after setting pressed to false. Removed the alteration of status.hovering during Focus Enter and Focus Exit events. JestemStefan (3): Added signed_angle_to for Vector3 Added minimum scale for node 2D Skip rendering of lights with zero size Jihyun Yu (1): Auto-reload scripts with external editor John Wigg (1): Fix normals of PrismMesh Jonas Bernemann (2): Fix overflow in export template manager String::format leave passed values untouched Jordan Schidlowsky (2): make 2d constraint solving more deterministic by solving in push order Websocket peer outbound buffer fixes. Expose outbound buffered amount. Joseph Davies (1): Fix grammar in MultiMesh documentation. Juan Linietsky (1): Addes ability to load build sources from file. K. S. Ernest (iFire) Lee (7): When one invalid image fails, it should only fail that single image. Backport gltf2 module from master. ERR_FAIL_NULL check file access Make curve interpolate crash less. In glTF2 animations, log spam less when running. glTF2 fallback load PNG and JPG Continue when glTF2 lights fail to parse. Kevin Sanders (1): Grammar fix. Koala (1): Fix indent left line selection Kongfa Waroros (1): New icons for Gradient and GradientTexture resources Kyle (5): Fixes ctrl-click function line centering Fixed cut/copy/paste visibility Remove extra separator Add ctrl+shift+a to instance scene in scenetree dock MultiplayerAPI is_network_server Fails Silently Leonardo Christino (1): Make GraphNode handle children with EXPAND flag Levi Lindsey (1): Update File.store_var description to mention which properties of an object are included. Lightning_A (18): Enable zooming graph_edit with scrollwheel, cherry-picked for 3.x Make scrollwheel zoom based on mouse position, cherry-picked for 3.x Fix Array.max() navigating to @GDScript.max() etc. Remove current export template version from "Installed Versions" Initialize some graphedit values in the header Put physics override parameters in their own group and document that areas can be used to influence audio Add the ability to remove project contents from the remove project dialog ScrollContainer: Expose `_ensure_focused_visible` to the API Was renamed to `ensure_control_visible` Add the ability to reload the current project Add "Suggest a Feature" to the help dialog. Add shift + [1-5] keyboard shortcuts to zoom out Add viewport preview plugin and refactor TextureEditorPlugin Add the ability to reorder arrays from the inspector Fix array reorder methods not being bound Fix `TexturePreview` crashing Minor improvements to the view rotation gizmo Minor visual improvements to the viewport rotation gizmo (again) Focus the scene tree dock after hitting one of the "Create Root Node:" buttons LoipesMas (1): Epsilon check for angular velocity in BodySW Lynx (1): Fix not updating fonts when parent theme changes Lyuma (9): Allow renaming bones and blendshapes. Backport 6f16239 "Implementation of struct for shaders" to 3.4 Backport 6b99bda "Added support for arrays as shader struct members" to 3.4 Backport bc0e8e7 "Fix using post-init shader array constructors" to 3.4 Backport dd0874e "Allow passing varying from fragment to light shader function" to 3.4 gltf: Fail gracefully when a mesh instance fails. Fix incorrect skin deduplication when using named binds gltf: Fix mesh nodes which are also bones for 3.x gltf: Fix mesh nodes which are also bones. Maganty Rushyendra (1): Fix AudioServer Crash when bus count equals 0 Mai Lavelle (1): Fix input methods returning zero strength when pressed status not requested Marcel Admiraal (36): Fix empty CSGShape error Fix CSGMesh undo not refreshing gizmo Update CSGMesh3D's documentation to explain how vertex normals are used Move collision layer and mask into CollisionObject. Return RID instead of Object id in area-body_shape_entered-exited signals. Fix Quat includes Update EditorResourcePreview queue_*() documentation Fix UV mapping on CSGSphere Fix game controllers ignoring the last listed button Rename CollisionObject3D input_event signal position and normal parameters Update Gradle archiveName and destinationDir properties Don't install Android NDK in CI Remove unused AudioDriverAndroid from Android Add OS.get_external_data_dir() to get Android external directory Move default values from definition to declaration in GraphEdit Apply infinite inertia checks to Godot physics 3D Remove duplicate ERR_PRINTS macro Remove FIXME comment from fixed issue in Android Export Remove duplicate WARN_PRINTS macro Clear glErrors instead of crashing when initializing GLES3 Add GDNative libraries to Android custom Gradle builds Add adb output to error message when install fails Remove redundant interface modifiers from Android Java code Remove unused imports from Android Java code Replace single method anonymous classes with lambdas in Godot Java code Fix unchecked call to put() warning in GodotInputHandler.java Remove unnecessary semicolons from Android Java code Use Java array declarations not C-style declarations in Android Java code Fix raw use of parameterized Class Use StringBuilder instead StringBuffer in Godot Java code Remove redundant explicit types in Godot Java code Use static inner classes in Godot Java code Remove Android onKeyMultiple override Queue the calls to GodotLib.key when Android virtual done is pressed Ensure node's area tree signals are disconnected when clearing monitoring, even if nodes are no longer in the tree. Fix multiple issues with CSGPolygon Marcus Brummer (1): Fixed build with SCRIPT_AES256_ENCRYPTION_KEY set Marvin Ewald (1): Allow warning-ignore in same line Mateo Kuruk Miccino (2): LineEdit: Now double click to select a word, and triple click to select all the content FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes Max Hilbrunner (3): Fix Windows platform file access Docs: Add warnings about no SSL/(D)TLS revocation Update bundled Mozilla X.509 CA root certificates MaxStgs (4): Fix BakedLightmap bias bound check Add PackedDataContainer data pointer check for non nullable Check PHashTranslation generate p_from is valid Add WebSocketMultiplayerPeer _incoming_packets check bound Melissa Geels (2): Triple click in text editor now uses last mouse position for validity Move cursor to edge of selection when moving caret left/right Michael Alexsander (7): Fix EditorInspector not updating its theme on rare occasions Select non-perfect matches if necessary in the Search Help dialog Add comment highlighting to script thumbnails Make invisible `SplitContainer` nodes correctly calculate the minimal size of its children Make some small tweaks to the MIME info Properly tag project files as a subclass of plain text in the MIME info Make property description in the animation editor actually show it ModProg (1): [android] Fixed wrong button mask for right click Morris Tabor (8): Fix ParticlesMaterial spread Fix draw order of transparent materials with multiple directional lights fix misaligned loads in bmp loader Replace QuickHull with Bullet's convex hull computer. Implement lossless WebP encoding Fix regressions caused by recent particle spread refactor Fix loading mipmaps, if the mipmap levels have different formats. Fix CPU Particles spread Nathan Franke (2): Collapse Resource Preview Properly Do not update scene tree dock when node edited outside of it Nathaniel Morihara (1): Exporting: Android Debug Keystore Warnings Nicholas Huelin (10): Edit "quit()" method description in `SceneTree` Amend `Label`.clip_text() Method Description Add `get_dead_zone()` method to `InputMap` Add multiple descriptions to several classes Add method description to `PopupMenu` Fix Illegible text in audio bus editor 3.x Fix miscellaneous doc typos and inconsistencies Fix doc typos Make "Find in Files" searches ignore directories with `.gdignore` files in them Make the "View" menu in 3D view toolbar stay open when selecting a checkbox Omar El Sheikh (5): Split Vertex Position and Attribute Streams Octahedral Normal/Tangent Compression Fix Bugs w/ Octahedral Compression Implementation Align Vertex Buffer to 4 Bytes Fix Octahedral/Split Stream Options Omar Polo (1): automatically detect BSDs as platform=linuxbsd Pasi Nuutinmaki (1): Fix area calculation of Face3 Paul Batty (1): Redraw on item list custom bg/fg colour change Paweł Fertyk (4): Return error when decompressing empty buffer Check for _language in PluginScript.instance_has Remove trailing slash from recent dir if needed Validate image formats, check if resize_to_po2 failed Pedro J. Estébanez (19): Extend UndoRedo handling of Resource to every Reference Add animation reset track feature Make all file access 64-bit (`uint64_t`) Allow basic user data backup on Android Set schemes' build config to debug/release in iOS Xcode export Add iOS export option for device family Fix crash when using ALSA MIDI with PulseAudio Fix slow load/save of scenes with many instances of the same script Remove side effects of scene save Add Script::inherits_script() Implement inherits_script() for NativeScript and PluginScript Rationalize property reversion Fix thread start with no user data when target has no default argument Improve input event accumulation Add input buffering framework Add project setting for agile input event flushing Switch to input buffering on Android Fix logic to allow default null thread argument Use SafeNumeric for Android JNI step Philip Whitfield (1): fix url parsing with port numbers Pitanov V.V (1): Fix GridMap erase Octans PouleyKetchoupp (33): Heightmap collision shape support in Godot Physics Fix errors related to joints setup with two non-dynamic bodies Fix skinning initialization in MeshInstance when loaded from thread Expose get_debug_mesh in Shape to scripting API Support for Dynamic BVH as 2D Physics broadphase Allow values > 1 for friction and bounce in PhysicsMaterial Fixed unnecessary bvh tree updates when calling set_pairable Fix logic for showing tilemap debug collision Added flip_h and flip_v properties in TextureButton Fix uninitialized members in physics query results Support for 3D sync to physics Expose collider RID in 2D/3D kinematic collision Fix sub-resource storing the wrong index in cache Fix external resource cache regression Ignore disabled shapes for mass property calculations Support for disabling physics on SoftBody Fix and clean disabled shapes handling in godot physics servers Fix export var override in PackedScene at runtime Expose body_test_motion in 3D physics server Remove unused PhysicsShapeQueryResult & Physics2DShapeQueryResult NodePath properly updated in the editor in more cases Coding style fix in editor NodePath update Optimize NodePath update when renaming or deleting nodes in the editor Options to clean/simplify convex hull generated from mesh Fix move_and_collide causing sliding on slopes More accurate unsafe motion calculation * Safe and unsafe motion are calculated by dichotomy with a limited number of steps. It's good for performance, but on long motions that either collide near the beginning or near the end, the result can be very imprecise. * Now a factor 0.25 or 0.75 is used to converge faster when this case happens, which allows longer motions to get more accurate collision detection. * Makes snap collision more precise, and helps with cases where diagonal collision on the border of a platform can lead to the character being stuck. Refactor layer property editor grid Fix GodotPhysics solver with kinematic body set to report contacts Fix applied rotation from moving platforms in move_and_slide Fix 3D moving platform logic Fix 3D character snap on moving platforms Fix crash in body_test_motion when used with RigidBody3D in Bullet Add collision depth and safe/unsafe fraction to Bullet body_test_motion R. Alex Hofer (1): Handle having no sinks in the PulseAudio driver. Rafał Mikrut (2): [3.x] Fix crashes when using _input functions Prevent setting too big or too small Collision Mask and Layer Ranie Jade Ramiso (1): Fix gdnative api generation for methods that return enums RaphaelHunter (1): Fix OpenSimplexNoise get_image() swap axes Raul Santos (12): Fix typo in CollisionObject documentation Fix documentation in StringExtensions Use Array.Empty instead of allocating a every time Ignore paths with invalid chars in PathWhich Set p_raw_strength in action_match methods Use `allowEmpty` parameter in Split Fix forward calculation in PathFollow3D for the position at the end of the curve Simplify C# print methods Add documentation to Dictionary in C# Reduce C# Dictionary internal calls Ensure MSBuildPanel buttons are instantiated Fix Path3D initial forward calculation Rhathe (1): Enable setting of collision iterations in Physics2DServer Ricard Rovira (1): Use unused from in local vector find function. Ricardo Maes (1): Fix render target textures not allowing repeat flag RoniPerson (1): Added documentation to some `add_*_plugin` methods Rémi Verschelde (106): Bump version to 3.4-beta embree: Allow building against system library on Linux fbx: Fix include for zlib that broke unbundling Add type_traits include for `std::is_trivially_destructible` lightmapper: Disable build if raycast module can't build Linux: Don't attempt linking embree3 on non-tools, link it for headless too Android: Fix get_buffer false positive on empty dest buffer NodePath: Remove unimplemented `get_parent()` method Scene: Remove unused `mesh_materials` StringNames Main: Default `--doctool` path to '.' if none given doc: Update classref headers with 3.4 version OSX: Clarify min version requirement (10.12) in Info.plist Linux: Remove use_static_cpp override on x86_32 SceneTree: Fix type hints for `global_menu_action` signal CI: Upgrade Emscripten to 2.0.15 (same as official standard builds) doc: Mark LargeTexture as deprecated (removed in 4.0) Android: Upgrade buildTools from 30.0.1 to 30.0.3 Tabs: Remove unused 'panel' stylebox from default theme Core: Drop custom `copymem`/`zeromem` defines SCons: Add explicit dependencies on thirdparty code in cloned env Revert "make 2d constraint solving more deterministic by solving in push order" doc: Sync classref with current source doc: Sync classref with Mono build CI: Add `--doctool` check to find missing classref updates Style: Remove executable bit from non-runnable files Style: Set clang-format Standard to c++14 Style: clang-format: Disable AllowShortIfStatementsOnASingleLine Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks Style: Replaces uses of 0/NULL by nullptr (C++11) Style: Enforce use of bool literals instead of integers Style: Remove redundant void argument lists Style: Enforce braces around if blocks and loops Fix crash with user-defined `ResourceFormatLoader.load` SCons: Disable embree-based modules on x86 (32-bit) Android: Remove non-functional native video OS methods TileSet: Improve error message for invalid IDs TileSet: Fix signal disconnect error in some situation VisualScript: Fix wrongly setting default value on property hint change CI: Update JavaScript linter deps with known security vulnerabilities SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalid Update AUTHORS and DONORS list i18n: Sync translations with Weblate FileSystem dock: Fix search shortcut Revert "Tweak lightmapper warning message to mention Rosetta emulation on macOS" i18n: Sync translations with Weblate CI: Install Android NDK 21.4.7075529 Android: Remove `-fno-integrated-as`, it can break arm64v8 build Fix typos with codespell Dist: Add macOS entitlements files for editor code signing Linux: Fix embree unbundling on aarch64 OS: Better validation of invalid input for get_unix_time_from_datetime i18n: Sync translations with Weblate Style: Cleanup uses of double spaces between words FileAccess: Don't err in `store_buffer` with buffer of size 0 Revert "[3.x] Fix SceneTreeDock::_selection_changed" Update AUTHORS and DONORS list i18n: Sync translations with Weblate Style fix in DONORS.md (trailing space) i18n: Sync translations with Weblate LocalVector: Don't error if `from` >= `count` Script editor: Rename 'Clone Down' to 'Duplicate Selection' Android: Add `isGame` application attribute, default to true Android: Fix `xr_mode_metadata_name` removal after cd64bcdae Android: Fix syntax error in #50227 Android: Fix truncated `application` attributes after #50028 cherry-pick FileDialog: Fix capitalization for overwrite prompt LineEdit: Respect `max_length` by truncating text to append i18n: Sync translations with Weblate Update AUTHORS and DONORS list Revert "Fix gdnative api generation for methods that return enums" SCons: Generate header with info on which modules are enabled Use modules_enabled.gen.h to improve inter dependency checks RoomManager: Fix build with CSG module disabled Mono: Remove info dialog discouraging use in production SCons: Avoid using Python f-string to preserve Python 3.5 compat mbedtls: Update to upstream version 2.16.11 Sync controller mappings DB with SDL2 community repo Expose visual script custom node type hints Revert "Fix duplicate selection in SceneTree (3.x)" Revert "Fix Illegible text in audio bus editor 3.x" i18n: Sync translations with Weblate Windows: Fix build with SCons 4.2.0 VariantParser: Fix uninitialized ResourceParser funcs Dependency editor: Edit message about move to trash Add script to make source tarball with `.git/HEAD` Allow overriding `VERSION_STATUS` with `GODOT_VERSION_STATUS` in env doc: Use self-closing tags for `return` and `argument` i18n: Sync translations with Weblate i18n: Sync template with current 3.x codebase SCons: Fix info message when defining `GODOT_VERSION_STATUS` Improve documentation and simplifies code for `File::get_csv_line()` Mono: Remove diagnostics incompatible with 3.x codebase OS: Fix used resource debug prints Fixup doc formatting after #47416 SCons: Disable Clang -Wordered-compare-function-pointers warning SCons: Add method to detect Emscripten and use it for warnings config HTML5: Fix a couple warnings FileAccessWindows: Add missing share.h include Resource: Remove unused `_use_builtin_script()` virtual method i18n: Sync translations with Weblate doc: Point URLs to 3.4 version of the online docs Update AUTHORS and DONORS list Android: Increase default armv7 NDK platform to 19 CI: Upgrade Emscripten to 2.0.25 SCons: Fix potential error when pruning cache on CI Saracen (1): Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry. Sergey Minakov (5): Core: add EOF check for json parser [iOS] Nonnegative start index for virtual keyboard range [iOS] Support multiple plist types [iOS] Fix plugin configuration loading [iOS] Use platform generated api to initialize iOS plugins Shatur95 (1): Move duplicated code into a function Sonoracpp (1): Disable GIProbe emission when disabled on a material Stanislav Labzyuk (1): Implemented the ability to add shortcut for Project -> Reload Current Project. Sushi (1): Fix: Selection Only in Find/Replace now preserves selection TaskManagerCZ (1): Explicit error message when setting active a Viewport that is already active. Thakee Nathees (1): Windows error logs directed to stderr Thomas ten Cate (1): Add OpenSimplexNoise output change to changelog Tokage (1): fix unintentional object rotation by animation tree Tomasz Chabora (27): Make randomize() use unix time too Add disabled theme icons for CheckBox Save project after opening Allow to drop files on filtered scene tree Display arrow cursor if text is not editable Reset Shader Editor scroll when changing shader Add preload() to resource path when holding Ctrl Improve sort_custom() description Don't save built-in script when adding method Don't remap resources belonging to instance Clarify animation_changed signal Fix GridMap still drawing when Alt+Tabbing Support single quote when dropping files to script Allow to create a node at specific position Document remaining Visual Script classes Add set_pressed_no_signal method to BaseButton [3.x] Fix valign with stylebox borders [3.x] Update Tree when modified Calculate __focus_rect when TreeItem is focused Assign value to property by dropping to scene tree Don't set metadata_label font if it doesn't exist Fix Change Node Type after Add Node Here Allow for easier editing of rect CollisionShape2D Improve ConfigFile example Don't save project on startup in headless or no-window mode Include locked nodes on selection list Fix renaming directories TwistedTwigleg (2): Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides SkeletonIK: Fixed issue where bones become detached if multiple SkeletonIK nodes are used Umang Kalra (1): Fixes missing descriptions in search window of visualscript Vaughan Ling (1): Add iOS Apple Pencil pressure Will Whitty (2): Work on porting HTTPRequest compression to 3.3 Backport HMac crypto to 3.x Yuri Sizov (30): Correct pre-deprication warning message regarding linuxbsd/x11 platform Fix EditorPropertyEasing capturing drag events originated outside of it Keep custom editor theme when changing editor settings Improve the layout and texts of the Editor Feature Profiles dialog Expose missing Theme methods Add utility methods to Theme, improve error messages and documentation Fix typo in Control's theme icon look-up method Add EditorResourcePicker control based on the Inspector editor for Resources Use EditorResourcePicker in the Inspector Refactor Theme item management in the theme editor Overhaul the theme editor and improve user experience Make relationship lines draw on top of TreeItems Fix control picker in the Theme editor Make zoom limits and step adjustable in GraphEdit Make several actions in the Inspector dock more obvious Improve the UI/UX of the Export Template Manager dialog Clear the theme type filter/name on each dialog popup Fix a crash when trying to load a WebP StreamTexture Put multiple colons back into translated strings Fix theming in the audio bus editor Cache EditorResourcePicker's allowed types Fix the editor theme application for the Mono build log Make theme item overrides more obvious in the Inspector Improve user communications in the theme editor Add theme item descriptions to the online documentation Improve the inspector plugin documentation and remove a confusing statement Improve Control's theme item methods documentation Make sure stylebox is valid in EditorSpinSlider before using it Add support for partial custom editor themes Adjust the material key bit size for ParticlesMaterial Zae (2): Fix zip file opening twice Fix duplicate close files when deconstructing ZipArchive Zak Stam (1): Allow multiple editor instances to use different ports amor (1): Fixed inspector not updating anchor asheraryam (1): Create bindings for creating multiple-convex-collision static bodies from gdscript azagaya (1): Fix vertical slider grabber_area height calculation besh81 (1): Fixed bug in tab_container with hidden tabs bowling-allie (1): Fixes BlendSpace2D BLEND_MODE_DISCRETE_CARRY. When BlendSpace2D switches animations, it will now correctly calculate the previous animation position and length and apply is to the new animation. bruvzg (19): Fix crash on GDNative API json generator exit. Duplicate DynamicFontData resources in the editor preview generation thread to avoid race condition. Add `physical_scancode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes). Add symlink API to the DirAccess (on macOS and Linux). [UWP] Add missing `get_scansym` argument. [macOS] Allow "on top" windows to enter full-screen mode. Add GDNative Framework loading and export support. Fix `Directory::get_space_left()` result on macOS and Linux. Add separate `simulator` flag for iOS build, change main library to `xcframework`. Build and export iOS Mono libs as `.xcframework`s, for Apple Silicon iOS simulator support. [3.x] Fix visibility issue with zoom label [3.x, macOS export] Add notarization support. [iOS] Option to automatically generate icons and launch screens Fix loading RLE compressed TGA files. Fix memory reads outside of input buffer when loading invalid TGA files. Add LSApplicationCategoryType to the template and export dialog. [macOS] Fix custom mouse cursor not set after mouse mode change. [Windows Export] Use temporary file for osslsigncode signing. Fix Variant tags parsing. [macOS, Mono] Automatically enable JIT entitlements for the Mono exports. [macOS] Add "debugging" (`get-task-allow`) to the export options, to allow using native debugger. daniel-mcclintock (1): Fix out of sync separate distraction-free mode davidh (1): Check for valid DynamicFontData before duplicate fabriceci (4): Fixing 2D moving platform logic Allow multiple collision direction at the same time Fix regression by allowing multiple collision direction Avoid to snap when the body is already on the floor. floppyhammer (2): ImproveCompletionPanelPositionInShaderEditor Improve nine patch behavior of TextureProgressBar follower (1): Fix Unicode URL link tags to render correctly. foxydevloper (6): Make shortcut for focusing searchbar in filesystem dock Make easing properties drawn with anti aliasing Backport filesystem dock sorting to 3.x Fix hidden seperators when horizontal frames is 1 Improve select tool's tooltip - Makes tips clearer and more consistent. - Removes outdated "shift+v" that doesn't work - Adds Ctrl+RMB for adding nodes at position - Removes tip for non-existent Alt+Drag in 3D select tool Name nodes added from drag & drop by `name_casing` hilfazer (1): Support for duplication of nested instanced scenes jmb462 (1): 3.2 - Fix Tween.is_active() always true after stop() and then start() kleonc (22): Improve some argument names for core types TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected TileMapEditor Modulate autotile previews Make posmod use int64_t instead of int TileMap::world_to_map Ensure half offset is added according to the returned value Fix accessing scene tree without checking: MeshInstance3D::create_debug_tangents, GIProbe::bake Fix crash after disabling plugin using set_force_draw_over_forwarding_enabled() BitMask::create Don't request more memory than needed when size is a multiply of 8 Document valid range of Node2D.z_index SpriteFramesEditorPlugin Added zooming Scale zoom values in the SpriteFrames editor for hiDPI displays TextureRegionEditor Fix not updating on editing region with autoslice cached TextureButton Update min size on any texture change AnimationMultiTrackKeyEdit Allow editing easing if it's possible for all edited tracks VisualScriptEditor Fix in graph position calculation (do not skip zoom) Add AcceptDialog::remove_button method Node::add_child Check for cyclic dependency SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture Astar::get_available_point_id Start from 0 TabContainer Fix moving dropped tab at incorrect child index TabContainer: Fix error on removing top-level Control child, Remove _get_tab method TileMap Fix trying to get data for tile not existing in attached TileSet lawnjelly (47): Batching - fix number of verts in translation Batching - GLES3 fix light pass modulates Fix 2d software skinning relative transforms Batching - fallback for 2d skinning with unrigged polys. Batching - fix item_batch_flags stale state BVH - fix stale current_tree in deactivate function BVH - thread safety option Fix canvas rect bound calculation Fix VisibilityEnabler to work with AnimationTree Most recently added current Camera2D takes precedence Add frame delta smoothing option Portal occlusion culling Portals - Add configuration warnings for nodes Portals - fix autolink sprawling, refine logs Portals - Add the ability to autoplace static objects Portals - lift roomlist restrictions and fix link bug Add option to sync frame delta after draw Portals - fix adding statics twice Portals - Config warning for Rooms with too many planes Portals - Gizmo colors added to editor settings Portals - Fix default portal margin loading Portals - fix autolink portals to detect internal Portals - add autoplace priority setting to CullInstance Portals - Fix sending portal margins to VisualServer Portals - Fix CSG updates on room conversion Portals - fix gizmo margin scaling Portals - disable frustum culling gizmos with preview camera Profiling - fix frame_time measurement Portals - Improve UI and add shortcuts Portals - Remove node naming restrictions Portals - change import naming convention to postfix Portals - Fix UI default Portals - fix recursive loop looking out from internal rooms Portals - rooms_set_active needs Editor check Portals - fix showing debug collision shapes Portals - add gizmo handles for editing portals and rooms Fix Transform::xform(Plane) functions, add Transform unit tests Portals - improve PVS tracing Portals - Fix secondary PVS bug Portals - fix autolinking to internal rooms Portals - fix crash when logging link room names Portals - add support for Sprite3D Portals - fix PVS generation and move settings Quickhull - reduce warning spam and make hideable Delta smoothing - fix overflow for long frames Portals - Fix cull roaming through multiple portals Sphere occluders (portals and general use) llschuster (1): text-editor: fix Clicking warning doesn't center around line lupoDharkael (1): Save resource: implement extension priority luz paz (1): Remove unnecessary 'pass' statement megalobyte (1): Fix previous search for built-in-docs merumelu (1): makerst: use link titles for external tutorials miere43 (1): Replace backslash with forward slash in OS_Windows path methods nobuyuki_nyuu (1): Bind CanvasItemEditor::_zoom_on_position and CanvasItemEditor::get_state to ClassDB paru (3): Added CPU blendshapes for GLES2 Fixed usage of proxy textures on GLES2 sky Performance improvements for GLES2 CPU blendshapes phil-shenk (1): added _change_notify in Control::set_scale to fix iss48936 rafallus (2): Check if _direct_state_changed() argument is valid Check input mesh is valid in SurfaceTool methods ray90514 (2): Fix LineEdit undo behaves strangely Fix multi-selection doesn't correctly show in the inspector skyace65 (1): Improve SpriteFrames get_animation_loop description smix8 (1): Add SkeletonIK function documentation thebestnom (2): [Android] Allow to build dev template with symbols [Android] fix generateDevTemplate trollodel (4): Create CollisionObject debug shapes using VS Fix crash on debug shapes update if CollisionObject is not in tree Preview the color animation in the animation editor Fix GraphNode port position when the control has the Expand flag univeous (1): allow input echo when changing ui focus uuuuuup (1): fix 3D scene not rendered on GLES3 HTML5 export vitika9 (2): Removed Redundant assignement of name inside configure_joypad function Fixed Camera2D's reset_smoothing() does not work as described voxelv (1): Avoid using a nullptr root in Tree._range_click_timeout(). Питанов Валера (1): fix lightmap cpu crashes