diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f795394ad71..97850763a273 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,440 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [4.1] - 2023-07-06 + +See the [release announcement](https://godotengine.org/article/godot-4-1-is-here) for details. + +### Added + +#### 2D + +- Add "Center View" button to 2D editor ([GH-57252](https://github.com/godotengine/godot/pull/57252)). +- Add proper snapping to tile polygon editor ([GH-70488](https://github.com/godotengine/godot/pull/70488)). + +#### 3D + +- Add the ability to look-at in model-space ([GH-76082](https://github.com/godotengine/godot/pull/76082)). +- Add move control points button to Path3D Editor ([GH-77860](https://github.com/godotengine/godot/pull/77860)). + +#### Animation + +- Implement `AnimationNodeSub2` and allow less or greater value in mathematical `AnimationNode` ([GH-76616](https://github.com/godotengine/godot/pull/76616)). +- Add `TRANS_SPRING` mode to `Tween` ([GH-76899](https://github.com/godotengine/godot/pull/76899)). + +#### Buildsystem + +- Add support for single compilation unit builds ([GH-77170](https://github.com/godotengine/godot/pull/77170)). + +#### C#/.NET + +- Add fine-grained disabling of SourceGenerators ([GH-71049](https://github.com/godotengine/godot/pull/71049)). +- Add global class support ([GH-72619](https://github.com/godotengine/godot/pull/72619)). +- Add `[Obsolete]` attribute to deprecated members ([GH-77904](https://github.com/godotengine/godot/pull/77904)). +- Add version defines to help users deal with breaking changes ([GH-78249](https://github.com/godotengine/godot/pull/78249), [GH-78466](https://github.com/godotengine/godot/pull/78466)). +- Add compatibility overloads ([GH-78452](https://github.com/godotengine/godot/pull/78452)). + +#### Core + +- Add frame delta smoothing option ([GH-52314](https://github.com/godotengine/godot/pull/52314)). +- Refactor Node processing to allow Scene multi-threading ([GH-75901](https://github.com/godotengine/godot/pull/75901)). +- Add a square fill mode to GradientTexture2D ([GH-76151](https://github.com/godotengine/godot/pull/76151)). +- Expose `ProjectSettings.set_as_basic()` to scripting ([GH-77417](https://github.com/godotengine/godot/pull/77417)). +- Expose `ProjectSettings.set_as_internal()` to scripting ([GH-77668](https://github.com/godotengine/godot/pull/77668)). +- Let user scripts disable thread safety checks ([GH-78000](https://github.com/godotengine/godot/pull/78000)). + +#### Editor + +- Add editor setting for spin slider sensibility ([GH-50671](https://github.com/godotengine/godot/pull/50671)). +- Add multi-window code and shader editors ([GH-62378](https://github.com/godotengine/godot/pull/62378)). +- Improve editor state persistence ([GH-72277](https://github.com/godotengine/godot/pull/72277)). +- Properly remember snapping options per-project ([GH-74682](https://github.com/godotengine/godot/pull/74682)). +- Add project tags ([GH-75047](https://github.com/godotengine/godot/pull/75047)). +- Improve editor state initialization ([GH-75563](https://github.com/godotengine/godot/pull/75563)). +- Android: Add the `scale_gizmo_handles` editor setting for touchscreens ([GH-75718](https://github.com/godotengine/godot/pull/75718)). +- Make create folder popup support nested folders ([GH-76084](https://github.com/godotengine/godot/pull/76084)). +- Display enum value descriptions in the editor inspector help tooltips ([GH-76238](https://github.com/godotengine/godot/pull/76238)). +- Add indicator for `StringName` properties ([GH-77521](https://github.com/godotengine/godot/pull/77521)). +- Add relative path support for `EditorPlugin.add_autoload_singleton` ([GH-78109](https://github.com/godotengine/godot/pull/78109)). + +#### Export + +- Allow EditorExportPlugins to provide export options ([GH-72895](https://github.com/godotengine/godot/pull/72895)). +- Add readable descriptions and validation warnings to the export options ([GH-74644](https://github.com/godotengine/godot/pull/74644)). + +#### GDExtension + +- Improve editor support for icons of custom, scripted, and GDExtension classes ([GH-75472](https://github.com/godotengine/godot/pull/75472)). +- Add a backwards compatibility system for GDExtension ([GH-76446](https://github.com/godotengine/godot/pull/76446)). +- Allow GDExtensions to add editor plugins ([GH-77010](https://github.com/godotengine/godot/pull/77010)). +- Add GDExtension `@since` attribute ([GH-78518](https://github.com/godotengine/godot/pull/78518)). + +#### GDScript + +- Allow to reference a class constructor as a `Callable` ([GH-73657](https://github.com/godotengine/godot/pull/73657)). +- Allow boolean operators for all Variant types ([GH-74741](https://github.com/godotengine/godot/pull/74741)). +- Add support for static variables in GDScript ([GH-76264](https://github.com/godotengine/godot/pull/76264)). + +#### GUI + +- Add support for multiline cells to `Tree` ([GH-61714](https://github.com/godotengine/godot/pull/61714)). +- Expose horizontal/vertical `custom_step` as editor property for the `ScrollContainer` ([GH-70868](https://github.com/godotengine/godot/pull/70868)). +- Implement `screen_get_pixel` method for LinuxBSD/X11, macOS and Windows ([GH-74087](https://github.com/godotengine/godot/pull/74087)). +- Implement vertical icon alignment for buttons ([GH-74369](https://github.com/godotengine/godot/pull/74369)). +- Expose all auto-wrap modes in `TextEdit` ([GH-74813](https://github.com/godotengine/godot/pull/74813)). +- Expose `TextServer` justification flags to `Label`, `Label3D`, `TextMesh`, and `RichTextLabel` ([GH-75250](https://github.com/godotengine/godot/pull/75250)). +- Expose dialog parent-and-popup logic to the API ([GH-76025](https://github.com/godotengine/godot/pull/76025)). +- Add support for tab stops to `Label` ([GH-76129](https://github.com/godotengine/godot/pull/76129)). +- Add support for tab stops to `RichTextLabel` ([GH-76401](https://github.com/godotengine/godot/pull/76401)). +- Expose `Window.get_window_id()` ([GH-77288](https://github.com/godotengine/godot/pull/77288)). +- Implement `TreeItem.add_child` ([GH-77446](https://github.com/godotengine/godot/pull/77446)). +- Add method to check if native window is focused ([GH-78262](https://github.com/godotengine/godot/pull/78262)). + +#### Import + +- Expose more compression formats in Image and fix compress check ([GH-76014](https://github.com/godotengine/godot/pull/76014)). +- Add support for extending GLTF with more texture formats and support WebP ([GH-76895](https://github.com/godotengine/godot/pull/76895)). +- Add support for non-standard OBJ vertex entries ([GH-77042](https://github.com/godotengine/godot/pull/77042)). + +#### Input + +- Detect host OS and use macOS keys on Mac hosts on Web ([GH-75451](https://github.com/godotengine/godot/pull/75451)). + +#### Navigation + +- Expose NavigationAgent path postprocessing and pathfinding algorithm options ([GH-75326](https://github.com/godotengine/godot/pull/75326)). +- Add agent pause mode to `NavigationServer` ([GH-75888](https://github.com/godotengine/godot/pull/75888)). +- Add NavigationPolygon `cell_size` property ([GH-78172](https://github.com/godotengine/godot/pull/78172)). + +#### Networking + +- Implement "watched" properties (reliable/on change) ([GH-75467](https://github.com/godotengine/godot/pull/75467)). +- Add support for platform-specific CA bundles ([GH-76836](https://github.com/godotengine/godot/pull/76836)). + +#### Porting + +- Implement and expose `OS.shell_show_in_file_manager()` ([GH-69698](https://github.com/godotengine/godot/pull/69698), [GH-76428](https://github.com/godotengine/godot/pull/76428)). +- Add `audio/general/text_to_speech` project setting to enable/disable TTS ([GH-77132](https://github.com/godotengine/godot/pull/77132)). +- Android: Allow concurrent buffering and dispatch of input events ([GH-76399](https://github.com/godotengine/godot/pull/76399)). +- Android: Add editor setting to control the window used to run the project ([GH-77676](https://github.com/godotengine/godot/pull/77676)). +- Android: Allow exporting release builds without a debug keystore ([GH-78123](https://github.com/godotengine/godot/pull/78123)). +- Linux/BSD: Add a default error handler for X11 to avoid crashes ([GH-75099](https://github.com/godotengine/godot/pull/75099)). + +#### Rendering + +- Add shader cache to GLES3 ([GH-76092](https://github.com/godotengine/godot/pull/76092)). +- Implement Vulkan pipeline caching ([GH-76348](https://github.com/godotengine/godot/pull/76348)). +- Add NoiseTexture3D ([GH-76486](https://github.com/godotengine/godot/pull/76486)). + +#### Shaders + +- Add `EXPOSURE` built-in to spatial shaders ([GH-71364](https://github.com/godotengine/godot/pull/71364)). +- Add `LIGHT_IS_DIRECTIONAL` built-in for spatial shaders ([GH-76290](https://github.com/godotengine/godot/pull/76290)). + +#### XR + +- Add support for getting and setting display refresh rate in WebXR ([GH-72938](https://github.com/godotengine/godot/pull/72938)). + +### Changed + +#### 2D + +- Improve the `Gradient2D` editor ([GH-70940](https://github.com/godotengine/godot/pull/70940)). +- Overhaul the `Curve` editor ([GH-74959](https://github.com/godotengine/godot/pull/74959)). +- Draw materials in tile atlas view ([GH-77909](https://github.com/godotengine/godot/pull/77909)). + +#### Animation + +- Improve SpriteFrameEditor frame addition ordering ([GH-68091](https://github.com/godotengine/godot/pull/68091)). + +#### Buildsystem + +- SCons: Move platform logo/run icon to `export` folder ([GH-78435](https://github.com/godotengine/godot/pull/78435)). + +#### C#/.NET + +- Make include scripts contents an export option ([GH-72896](https://github.com/godotengine/godot/pull/72896)). +- Truncate instead of round in Vector2/3/4 to Vector2I/3I/4I conversion ([GH-75477](https://github.com/godotengine/godot/pull/75477)). + +#### Core + +- Optimize Node children management ([GH-75627](https://github.com/godotengine/godot/pull/75627)). +- Deprecate `NOTIFICATION_MOVED_IN_PARENT` for `NOTIFICATION_CHILD_ORDER_CHANGED` ([GH-75701](https://github.com/godotengine/godot/pull/75701)). +- Optimize `Node::add_child` validation ([GH-75760](https://github.com/godotengine/godot/pull/75760)). +- Replace invalid characters in node names by underscores instead of removing them ([GH-75760](https://github.com/godotengine/godot/pull/75760)). +- Optimize `Object::get_class_name` ([GH-75797](https://github.com/godotengine/godot/pull/75797)). +- Ensure `RID`, `Callable`, and `Signal` are stored as strings ([GH-78517](https://github.com/godotengine/godot/pull/78517)). + +#### Editor + +- Remove constrained view in the 2D editor ([GH-47628](https://github.com/godotengine/godot/pull/47628)). +- Enhance FileSystem dock tooltips ([GH-63263](https://github.com/godotengine/godot/pull/63263)). +- Get rid of mouse wheel switch in scene tabs ([GH-70800](https://github.com/godotengine/godot/pull/70800)). +- Reorganize context menu in FileSystem dock to put more used options higher ([GH-73519](https://github.com/godotengine/godot/pull/73519)). +- Improve file move and copy operations ([GH-75330](https://github.com/godotengine/godot/pull/75330)). +- Preserve scene unique names when saving branch as scene ([GH-76609](https://github.com/godotengine/godot/pull/76609)). +- Allow showing messages from threads in "Editor Log" ([GH-77080](https://github.com/godotengine/godot/pull/77080)). + +#### Export + +- Store sensitive export options in dedicated credentials file ([GH-76165](https://github.com/godotengine/godot/pull/76165)). +- Check if the required texture format is imported in the export dialog ([GH-78456](https://github.com/godotengine/godot/pull/78456)). + +#### GDExtension + +- Rework GDExtension interface from a struct to loading function pointers ([GH-76406](https://github.com/godotengine/godot/pull/76406)). +- Standardize Object ptrcall encoding on `Object **` ([GH-77410](https://github.com/godotengine/godot/pull/77410)). + +#### GDScript + +- Improve GDScript documentation generation & behavior ([GH-72095](https://github.com/godotengine/godot/pull/72095)). +- Sort code autocompletion with rules ([GH-75746](https://github.com/godotengine/godot/pull/75746)). +- Allow `String`s and `StringName`s match each other in a `match` statement ([GH-78389](https://github.com/godotengine/godot/pull/78389)). + +#### GUI + +- Add a warning when accessing theme prematurely and fix surfaced issues ([GH-73475](https://github.com/godotengine/godot/pull/73475)). +- Make main editor window border margin controllable by theme ([GH-74767](https://github.com/godotengine/godot/pull/74767)). +- Make sure to normalize subtags when parsing BBCode ([GH-75622](https://github.com/godotengine/godot/pull/75622)). +- Add an option for ButtonGroups to be unpressed ([GH-76279](https://github.com/godotengine/godot/pull/76279)). +- Make `TextureButton` and `Button` update on texture change ([GH-77159](https://github.com/godotengine/godot/pull/77159)). +- Use defined key mapping for closing popups and dialogs ([GH-77297](https://github.com/godotengine/godot/pull/77297)). + +#### Import + +- Split editor-specific import metadata for textures ([GH-75949](https://github.com/godotengine/godot/pull/75949)). +- Use DXT1 when compressing PNGs with RGB format ([GH-76516](https://github.com/godotengine/godot/pull/76516)). +- Respect `compress_binary_resources` editor setting on scene import ([GH-76630](https://github.com/godotengine/godot/pull/76630)). +- Disable texture format import overrides by default ([GH-77105](https://github.com/godotengine/godot/pull/77105), [GH-78147](https://github.com/godotengine/godot/pull/78147)). +- Ensure that "detect 3D" is only called when using 3D shaders ([GH-78199](https://github.com/godotengine/godot/pull/78199)). + +#### Input + +- Create a virtual mouse move event after moving child nodes in tree ([GH-66625](https://github.com/godotengine/godot/pull/66625)). +- Propagate shortcut events to `SubViewport`s ([GH-76926](https://github.com/godotengine/godot/pull/76926)). +- Improve touchpad and mouse support for the Android editor ([GH-77498](https://github.com/godotengine/godot/pull/77498)). +- Generate missing values instead of disabling options ([GH-77900](https://github.com/godotengine/godot/pull/77900)). + +#### Navigation + +- Rework Navigation avoidance ([GH-69988](https://github.com/godotengine/godot/pull/69988)). +- Make navigation mesh edge connections optional ([GH-75601](https://github.com/godotengine/godot/pull/75601)). +- Prevent unnecessary navigation map synchronizations ([GH-75678](https://github.com/godotengine/godot/pull/75678)). +- Update NavigationObstacle API ([GH-78081](https://github.com/godotengine/godot/pull/78081)). + +#### Networking + +- mbedTLS: Disable weak crypto and TLS versions ([GH-76905](https://github.com/godotengine/godot/pull/76905)). +- Allow `ENetConnection` to send a packet to an arbitrary destination ([GH-77627](https://github.com/godotengine/godot/pull/77627)). + +#### Physics + +- Propagate previously unused `NOTIFICATION_WORLD_2D_CHANGED`, make CanvasItem/CollisionObject2D use it ([GH-57179](https://github.com/godotengine/godot/pull/57179)). + +#### Porting + +- Android: Downgrade android gradle plugin to version 7.2.1 ([GH-76325](https://github.com/godotengine/godot/pull/76325)). +- macOS: Bump min. version to 10.13, and remove deprecated code ([GH-76394](https://github.com/godotengine/godot/pull/76394)). +- Windows: Support long path in file access ([GH-76739](https://github.com/godotengine/godot/pull/76739)). + +#### Rendering + +- Disable NVIDIA's threaded OpenGL optimization on Windows ([GH-71472](https://github.com/godotengine/godot/pull/71472)). +- Use `MODELVIEW_MATRIX` when on double precision ([GH-75462](https://github.com/godotengine/godot/pull/75462)). +- Move sky luminance scaling to before fog is applied ([GH-75812](https://github.com/godotengine/godot/pull/75812)). +- Clamp normal when calculating 2D lighting to avoid artifacts ([GH-76240](https://github.com/godotengine/godot/pull/76240)). +- Rework particle turbulence ([GH-77154](https://github.com/godotengine/godot/pull/77154)). +- (Re-)Implement `Light3D.shadow_reverse_cull_face` ([GH-77238](https://github.com/godotengine/godot/pull/77238)). +- Take 3D resolution scaling into account for mesh LOD ([GH-77294](https://github.com/godotengine/godot/pull/77294)). + +#### Thirdparty + +- astcenc updated to version 4.4.0. +- basis_universal updated to version 1.16.4. +- brotli updated to version ed1995b6b. +- doctest updated to version 2.4.11. +- FreeType updated to version 2.13.0. +- HarfBuzz updated to version 7.3.0. +- ICU4C updated to version 73.1. +- MbedTLS updated to version 2.28.3. +- PCRE2 updated to version 10.42. +- recast updated to version 1.6.0. +- ThorVG updated to version 0.9.0. +- tinyexr updated to version 1.0.5. +- wslay updated to version 0e7d106ff. +- Vulkan and related libraries updated to version 1.3.250.0. +- zstd updated to version 1.5.5. +- CA root certificates updated to 2023-06-02 bundle from Mozilla. + +### Removed + +#### C#/.NET + +- Discontinue `GodotNuGetFallbackFolder` ([GH-73984](https://github.com/godotengine/godot/pull/73984)). + +#### Input + +- Deprecate `push_unhandled_input` ([GH-77452](https://github.com/godotengine/godot/pull/77452)). + +### Fixed + +#### 2D + +- Fix click-selecting Sprites with repeated texture ([GH-78566](https://github.com/godotengine/godot/pull/78566)). +- Tilemaps: Fix rendering odd-sized tiles ([GH-74814](https://github.com/godotengine/godot/pull/74814)). +- Tilemaps: Fix tile resizing towards atlas boundary ([GH-76152](https://github.com/godotengine/godot/pull/76152)). +- Tilemaps: Fix crashes when painting a large area in a tilemap ([GH-76548](https://github.com/godotengine/godot/pull/76548)). +- Tilemaps: Fix TileMap draw preview when switching CanvasItem editor tool ([GH-78467](https://github.com/godotengine/godot/pull/78467)). +- Tilemaps: Fix TileSet set as local to scene ([GH-78477](https://github.com/godotengine/godot/pull/78477)). +- Tilemaps: Update indices after removing custom data layers ([GH-78492](https://github.com/godotengine/godot/pull/78492)). + +#### 3D + +- Fix `PathFollow` direction and add Z forward option ([GH-72842](https://github.com/godotengine/godot/pull/72842)). +- Improve CSG robustness ([GH-74771](https://github.com/godotengine/godot/pull/74771)). +- Fix 3D viewport front/rear axis and "Focus" button ([GH-76052](https://github.com/godotengine/godot/pull/76052)). +- Fix infinite loop in CSG `Build2DFaces::_find_edge_intersections` ([GH-76521](https://github.com/godotengine/godot/pull/76521)). +- Fix `CSGPolygon3D` in path mode disappearing at runtime ([GH-77118](https://github.com/godotengine/godot/pull/77118)). + +#### Animation + +- Fix `get_bone_pose_global_no_override()` returning incorrect values ([GH-77194](https://github.com/godotengine/godot/pull/77194)). +- Fix for SkeletonIK3D interpolation and bone roll ([GH-77469](https://github.com/godotengine/godot/pull/77469)). +- Only reset `rest_dirty` after ALL bone transforms have finished update ([GH-78025](https://github.com/godotengine/godot/pull/78025)). + +#### Audio + +- Fix AudioListener2D ignoring rotation for positional audio ([GH-69027](https://github.com/godotengine/godot/pull/69027)). +- Fix trim when importing WAV ([GH-75261](https://github.com/godotengine/godot/pull/75261)). +- Fix crash in the Android editor when creating `AudioStreamMicrophone` ([GH-77686](https://github.com/godotengine/godot/pull/77686)). + +#### C#/.NET + +- Fix exception when using base types of extension-based types from C# ([GH-75955](https://github.com/godotengine/godot/pull/75955)). +- Fix C# glue generation for enums with negative values ([GH-77018](https://github.com/godotengine/godot/pull/77018)). +- Mostly fix hash of ManagedCallable ([GH-77199](https://github.com/godotengine/godot/pull/77199)). + +#### Core + +- Fix multi-threaded resource loading ([GH-74405](https://github.com/godotengine/godot/pull/74405), [GH-77143](https://github.com/godotengine/godot/pull/77143)). +- Fix recursive `Node.find_children` ([GH-75459](https://github.com/godotengine/godot/pull/75459)). +- Fix invalid 2D global position when read outside tree ([GH-75509](https://github.com/godotengine/godot/pull/75509)). +- Prevent errors when using ViewportTexture ([GH-75751](https://github.com/godotengine/godot/pull/75751)). +- Properly update NodePaths with batch rename ([GH-76376](https://github.com/godotengine/godot/pull/76376)). +- Fix multiple issues in `WorkerThreadPool` ([GH-76945](https://github.com/godotengine/godot/pull/76945), [GH-76999](https://github.com/godotengine/godot/pull/76999)). +- Fix `StringName` comparison ([GH-77197](https://github.com/godotengine/godot/pull/77197)). +- Fix grayscale alpha for `Image::convert` `FORMAT_L8` using REC.709 ([GH-77456](https://github.com/godotengine/godot/pull/77456)). +- Fix external resource ids lost ([GH-77749](https://github.com/godotengine/godot/pull/77749)). + +#### Editor + +- Fix "View Owners" dialog not acknowledging that some resources aren't scenes ([GH-68697](https://github.com/godotengine/godot/pull/68697)). +- Fix typed array export ([GH-73256](https://github.com/godotengine/godot/pull/73256)). +- Various fixes to the 3-to-4 project conversion tool ([GH-75002](https://github.com/godotengine/godot/pull/75002), [GH-75900](https://github.com/godotengine/godot/pull/75900), [GH-77615](https://github.com/godotengine/godot/pull/77615), [GH-78097](https://github.com/godotengine/godot/pull/78097)). +- Prevent quoted args in `editor/main_run_args` from being split at spaces ([GH-75444](https://github.com/godotengine/godot/pull/75444)). +- Fix connect signal dialog not allowing Unicode method name ([GH-75814](https://github.com/godotengine/godot/pull/75814)). +- Avoid error spam on first opening of a not yet imported project ([GH-77276](https://github.com/godotengine/godot/pull/77276)). +75900), [GH-77615](https://github.com/godotengine/godot/pull/77615), [GH-78097](https://github.com/godotengine/godot/pull/78097)). + +#### Export + +- Make sure script cache is created after reimport ([GH-75798](https://github.com/godotengine/godot/pull/75798)). + +#### GDExtension + +- Fix GDExtension Variant type conversion ([GH-75758](https://github.com/godotengine/godot/pull/75758)). +- Fix wrapping Objects in GDExtension that aren't exposed ([GH-78061](https://github.com/godotengine/godot/pull/78061)). +- Fix `Ref<>.is_valid()` for ScriptInstanceExtension ([GH-78392](https://github.com/godotengine/godot/pull/78392)). +- Use `Uninitialized*Ptr` for constructors/converters using placement new ([GH-78419](https://github.com/godotengine/godot/pull/78419)). + +#### GDScript + +- Fix access to identifiers that are reserved keywords ([GH-62830](https://github.com/godotengine/godot/pull/62830)). +- Fix typed arrays not working with concatenation operator `+` ([GH-73540](https://github.com/godotengine/godot/pull/73540)). +- Fix missing warning for shadowing of built-in types ([GH-74842](https://github.com/godotengine/godot/pull/74842)). + +#### GUI + +- Fix deselecting behavior in Tree ([GH-71307](https://github.com/godotengine/godot/pull/71307), [GH-71405](https://github.com/godotengine/godot/pull/71405)). +- Fix RichTextLabel wrong selection offsets ([GH-71742](https://github.com/godotengine/godot/pull/71742), [GH-71747](https://github.com/godotengine/godot/pull/71747)). +- Fix a blocking black rectangle that appears during color picking ([GH-74962](https://github.com/godotengine/godot/pull/74962)). +- Fix blurry borders on antialiased StyleBoxFlat ([GH-76132](https://github.com/godotengine/godot/pull/76132)). +- Fix `MenuBar` item order in RTL layout ([GH-77519](https://github.com/godotengine/godot/pull/77519)). +- Fix input handling for unfocusable embedded windows ([GH-77842](https://github.com/godotengine/godot/pull/77842)). +- Fix VideoStreamPlayer seamless loop ([GH-77856](https://github.com/godotengine/godot/pull/77856)). +- Fix editor log flicker ([GH-77973](https://github.com/godotengine/godot/pull/77973)). +- Ensure that controls update all their sizing information when required ([GH-78009](https://github.com/godotengine/godot/pull/78009)). +- Fix passive mouse hovering for physics ([GH-78017](https://github.com/godotengine/godot/pull/78017)). + +#### Import + +- Fix Basis Universal compressing with normal maps ([GH-62718](https://github.com/godotengine/godot/pull/62718)). +- Fix OBJ mesh importer smoothing handling ([GH-75315](https://github.com/godotengine/godot/pull/75315)). +- Fix Silhouette used incorrect index ([GH-76499](https://github.com/godotengine/godot/pull/76499)). +- Fix GLTFSkin binding for the `godot_skin` property ([GH-77413](https://github.com/godotengine/godot/pull/77413)). +- Fix exporting MeshInstances without a Skeleton in the GLTF module ([GH-77545](https://github.com/godotengine/godot/pull/77545)). +- Fix center of mass when importing GLTF physics bodies ([GH-77602](https://github.com/godotengine/godot/pull/77602)). + +#### Input + +- Fix guide button detection with XInput and Xbox Series controllers ([GH-73200](https://github.com/godotengine/godot/pull/73200)). +- Fix just pressed and released with short presses ([GH-77055](https://github.com/godotengine/godot/pull/77055)). +- Fix mouse position with screen transform ([GH-77923](https://github.com/godotengine/godot/pull/77923)). +- Fix IME focus in Popup on Windows and macOS ([GH-77977](https://github.com/godotengine/godot/pull/77977), [GH-78029](https://github.com/godotengine/godot/pull/78029)). + +#### Networking + +- Fix incorrect value returned by `HTTPClient.get_response_body_length` on Web ([GH-77648](https://github.com/godotengine/godot/pull/77648)). +- Fix delta variables index decoding ([GH-78709](https://github.com/godotengine/godot/pull/78709)). + +#### Physics + +- Fix various issues with PhysicsDirectBodyState3D contacts ([GH-58880](https://github.com/godotengine/godot/pull/58880)). +- Improve rigid body CCD against moving bodies ([GH-76138](https://github.com/godotengine/godot/pull/76138)). + +#### Porting + +- Android: Fix UI responsiveness to touch taps ([GH-75703](https://github.com/godotengine/godot/pull/75703)). +- Android: Fix double tap & drag on Android ([GH-76791](https://github.com/godotengine/godot/pull/76791)). +- Android: Fix issue causing the last edited project to open while switching to another one ([GH-78129](https://github.com/godotengine/godot/pull/78129)). +- iOS: Fix loading of GDExtension dylibs auto converted to framework ([GH-76510](https://github.com/godotengine/godot/pull/76510)). +- iOS: Fix orientation change in runtime ([GH-78132](https://github.com/godotengine/godot/pull/78132)). +- Linux/BSD: Fix the sliding window problem ([GH-76040](https://github.com/godotengine/godot/pull/76040)). +- Linux/BSD: Fix temporary file permissions ([GH-78347](https://github.com/godotengine/godot/pull/78347)). +- Windows: Fix queuing utterances in rapid succession in TTS ([GH-75880](https://github.com/godotengine/godot/pull/75880)). +- Windows: Fix minimize button missing in non-resizable projects ([GH-77770](https://github.com/godotengine/godot/pull/77770)). + +#### Rendering + +- Fix GLES3 rendering on Android studio emulator ([GH-74945](https://github.com/godotengine/godot/pull/74945)). +- Fix "Light Only" mode of `CanvasItemMaterial` ([GH-75181](https://github.com/godotengine/godot/pull/75181)). +- Fix GLES texture uniform array binding ([GH-75313](https://github.com/godotengine/godot/pull/75313)). +- Fix the limit for interpolation with respect to metallic and calculations in the SSR Fresnel Shlick ([GH-75368](https://github.com/godotengine/godot/pull/75368)). +- Fix GLES3 GPUParticles3D not working in HTML export ([GH-75795](https://github.com/godotengine/godot/pull/75795)). +- Fix voxel GI issues ([GH-76437](https://github.com/godotengine/godot/pull/76437), [GH-76550](https://github.com/godotengine/godot/pull/76550)). +- Fix reflections in mobile renderer ([GH-76692](https://github.com/godotengine/godot/pull/76692)). +- Fix modulation propagation for Y-sorted `CanvasItem`s ([GH-77079](https://github.com/godotengine/godot/pull/77079)). +- Fix LightmapGI dynamic object lighting ([GH-77089](https://github.com/godotengine/godot/pull/77089)). +- Fix calculation of skinned AABB for unused bones ([GH-77265](https://github.com/godotengine/godot/pull/77265)). +- Fix various issues with blend modes in the OpenGL 3 renderer ([GH-77409](https://github.com/godotengine/godot/pull/77409)). +- Fix Subtract blend mode of Forward+ and Mobile renderers ([GH-77520](https://github.com/godotengine/godot/pull/77520)). +- Fix LCD blend mode color caching in OpenGL ([GH-77946](https://github.com/godotengine/godot/pull/77946)). +- Ensure filter/repeat is cached by Viewport texture in GL Compatibility renderer ([GH-78285](https://github.com/godotengine/godot/pull/78285)). +- Copy texture filter/repeat modes when replacing a texture in the GL Compatibility backend ([GH-78287](https://github.com/godotengine/godot/pull/78287)). +- Fix volumetric fog in stereo by projection vertex in combined space ([GH-78436](https://github.com/godotengine/godot/pull/78436)). +- Use a filter with mipmaps when initializing textures with mipmaps in GL Compatibility renderer ([GH-78720](https://github.com/godotengine/godot/pull/78720)). + +#### Shaders + +- Fix shader preprocessor cyclic include handling ([GH-77608](https://github.com/godotengine/godot/pull/77608)). + +#### XR + +- Fix OpenXR Passthrough mode ([GH-78135](https://github.com/godotengine/godot/pull/78135)). +- Apply reprojection in multiview for our cluster lookup ([GH-78499](https://github.com/godotengine/godot/pull/78499)). +- Fix incorrect depth buffer option in OpenXR ([GH-78550](https://github.com/godotengine/godot/pull/78550)). + + ## [4.0] - 2023-03-01 The Godot 4.0 release was our biggest released to date, spanning 4 years of @@ -197,6 +631,8 @@ See the [release announcement](https://godotengine.org/article/godot-3-5-cant-st - WebXR: Rendering and touch events now supported on smartphone AR ([GH-55869](https://github.com/godotengine/godot/pull/55869), [GH-56819](https://github.com/godotengine/godot/pull/56819)). - WebXR: Allow mapping VR controller joystick/button IDs to match other AR/VR interfaces ([GH-59994](https://github.com/godotengine/godot/pull/59994)).### Changed +### Changed + #### Audio - Instance audio streams before `AudioServer::lock` call ([GH-59413](https://github.com/godotengine/godot/pull/59413)). @@ -1333,7 +1769,7 @@ See the [release announcement](https://godotengine.org/article/godot-3-3-has-arr - Support for automatically building Android templates before exporting. - This makes 3rd-party SDK integration easier. - Support for [texture atlases in 2D](https://godotengine.org/article/atlas-support-returns-godot-3-2). -- Major improvements to the visual shader system. ([News post 1](https://godotengine.org/article/major-update-for-visual-shader-in-godot-3-2), [News post 2](https://godotengine.org/article/major-update-visual-shaders-godot-3-2-part-2)) +- Major improvements to the visual shader system ([News post 1](https://godotengine.org/article/major-update-for-visual-shader-in-godot-3-2), [News post 2](https://godotengine.org/article/major-update-visual-shaders-godot-3-2-part-2)). - Redesigned visual shader editor with drag-and-drop capability. - Textures can be dragged from the FileSystem dock to be added as nodes. - Most functions available in GLSL are now exposed. @@ -2440,6 +2876,7 @@ See the [release announcement](https://godotengine.org/article/godot-3-3-has-arr - Only WebAssembly is supported now, since all browsers supporting WebGL 2.0 also support WebAssembly. +[4.1]: https://github.com/godotengine/godot/compare/4.0-stable...4.1-stable [4.0]: https://github.com/godotengine/godot/compare/3.2-stable...4.0-stable [3.5]: https://github.com/godotengine/godot/compare/3.4-stable...3.5-stable [3.4]: https://github.com/godotengine/godot/compare/3.3-stable...3.4-stable