Skip to content

godot-4.0-stable

Compare
Choose a tag to compare
@akien-mga akien-mga released this 04 Dec 08:25
· 462 commits to master since this release
9d1c396

What's Changed

  • Fix OSX library name for arm64. by @Faless in #587
  • Fix clang 11 build failure over Wabsolute-value by @samsface in #607
  • Add license headers to all source and header files by @Calinou in #595
  • Fix argument constness in String::begins_with, String::ends_with by @colugomusic in #601
  • Add ability to easily register signals with no arguments by @aaronfranke in #588
  • Stop including iostream in Variant.hpp (to produce slightly smaller binaries) by @kb-1000 in #563
  • Fix: add missing toolchain elements for android by @piiertho in #547
  • Update godot version in README.MD by @anunknowperson in #538
  • Add -std:c++17 flag on windows test build by @beroso in #513
  • Updating the readme with new branch info by @BastiaanOlij in #619
  • bindgen: Properly escape NodePath in default args by @akien-mga in #620
  • CI: Disable test build to prepare for 4.0 extensions merge by @akien-mga in #622
  • Bindings for the new extension system by @vnen in #602
  • Use default destructor for Object by @Shatur in #626
  • Add pointers support for virtual methods. by @Faless in #625
  • Add Ref binding support. by @Faless in #631
  • test: Setup for building both debug and release build by @BastiaanOlij in #632
  • [OSX] Add OSX universal build support. by @Faless in #634
  • Rework debug flags for CMake by @Shatur in #639
  • Rename interface to gdn_interface because it's a defined keyword by @BastiaanOlij in #644
  • Add Array::make macro by @BastiaanOlij in #646
  • Synced windows compile definitions with scons configuration by @RedwanFox in #649
  • Implement index operators for Arrays by @BastiaanOlij in #627
  • Fixing compiler warnings around implicit type casting loosing precision by @BastiaanOlij in #650
  • Implementing dictionary operators by @BastiaanOlij in #656
  • Print a warning with unknown SCons variables to ease troubleshooting by @Calinou in #661
  • Avoid crash in Variant constructor from nullptr Object* by @groud in #659
  • Make extension instances create the corresponding godot object in their constructor by @groud in #663
  • Require at least Python 3 by @bradc6 in #670
  • Fix namespace to be consistent with the previous ADD functions by @bradc6 in #671
  • Explicit namespace for macros by @bradc6 in #672
  • Test CMake project with CI by @o01eg in #518
  • Fix object_set_instance being wrongly called for built-in wrapped classes by @groud in #668
  • [Demo Project] Add macOS framework config. by @bruvzg in #682
  • In CMakeLists, use the new FindPython3 instead of FindPython by @Ivorforce in #675
  • Update README file for macos support by @paddy-exe in #685
  • Android/iOS build, Scons boilerplate for building projects. by @Faless in #636
  • [Build] Fix exposed suffix, remove unused option. by @Faless in #690
  • [macOS] Restore demo library output names. by @bruvzg in #696
  • Add ptr() / ptrw() to the arrays, add missing String methods, add missing CharString method implementations. by @bruvzg in #695
  • Add Variant binders for the generated classes, structs and global enums by @bruvzg in #699
  • Fix "const" NativePtr binds. by @bruvzg in #704
  • Use C++17 flag only for C++ files. by @bruvzg in #705
  • Add ERR_ macros variants using String messages. by @bruvzg in #706
  • Add missing Vector3::operator Vector3i definition by @zhehangd in #688
  • Use forward declares for vector math types by @akien-mga in #707
  • Fix Test CMake project for Windows and parametrize paths by @nicoraf in #683
  • Port a bunch of Godot container templates to GDExtension. by @bruvzg in #701
  • Fix GDCLASS when inherited class is in another namespace by @Zylann in #708
  • [master] Run black format on SConstruct files and bindings generator by @aaronfranke in #712
  • Reorder native extension initialization steps by @groud in #715
  • Bump actions/setup-python from 2 to 3 by @dependabot in #716
  • Fixed crash on release builds due to missing argument type information by @codecat in #719
  • CI: Install MinGW via egor-tensin/setup-mingw by @akien-mga in #723
  • Fix return type encoding for ptrcall. by @bruvzg in #721
  • Add ObjectDB::get_instance method to get wrapped Object * from ObjectID. by @bruvzg in #720
  • Bump actions/checkout from 2 to 3 by @dependabot in #717
  • Remove godot-headers submodule, copy files directly by @akien-mga in #725
  • Fix build after "Discern between VIRTUAL and ABSTRACT class bindings". by @bruvzg in #724
  • Sync godot-headers and fix build after "Create GDExtension clases for PhysicsServer3D". by @bruvzg in #726
  • Add support for static method bindings. by @bruvzg in #729
  • Fix generating static methods without return value. by @bruvzg in #730
  • Add support for variadic method binds with the typed return. by @bruvzg in #734
  • Bump actions/upload-artifact from 2 to 3 by @dependabot in #737
  • Color: Rename to_srgb/to_linear to include base color space by @akien-mga in #738
  • [CI] Remove duplicate builds. by @Faless in #743
  • [CI] Add python file format to static checks. by @Faless in #749
  • [Scons] Use dependency to track bindings generation. by @Faless in #748
  • Change registered initializers / terminators to the single function with level argument. by @bruvzg in #750
  • Add double precision build support. by @bruvzg in #728
  • Build javascript target on windows host by @NicholasShatokhin in #746
  • [Method Bind] Add support for default argument values and static method binding. by @bruvzg in #752
  • Cast GetTypeInfo::VARIANT_TYPE to GDNativeVariantType by @tpotancok in #757
  • Unify bits, android_arch, macos_arch ios_arch into arch, support non-x86 Linux by @aaronfranke in #759
  • Sync containers with new HashMap/HashSet, sync API headers. by @bruvzg in #761
  • [SCons] Fix Android builds with modern NDKs. by @Faless in #766
  • headers: Sync to Godot 4.0 alpha10. by @Faless in #767
  • Fix GDN_EXPORT define with mingw. by @Faless in #771
  • [SCons] Move toolchains logic to tools folder, various improvements. by @Faless in #762
  • Fix crash when using static methods without return value due to uninitialized GDNativePropertyInfo struct members by @alessandrofama in #778
  • [SCons] Fix msvc, linux-clang, add version check. by @Faless in #781
  • Add clang-cl support by @Kev in #782
  • Add support for BitField hint, sync API files. by @bruvzg in #783
  • Update register initializer/terminator in README by @Naryosha in #774
  • SCons: Default num_jobs to max CPUs minus 1 if not specified by @akien-mga in #788
  • Fix compile fail when windows with llvm+ninja by @BiteTheDDDDt in #732
  • Fix default library filename generation in CMakeLists.txt by @jtcooper10 in #687
  • Fixed crash when called methods return nullptr. by @ondy-personal in #686
  • Rename OSX to macOS. by @bruvzg in #790
  • Add bindings for Vector4, Vector4i, Projection built-in types. by @bruvzg in #793
  • Object::cast_to checks provided object for nullptr by @DNKpp in #794
  • [CI] Fix Android builds after GH container update. by @Faless in #797
  • Fixed pointer indirection in the PtrToArg template for Object arguments. by @lukas-toenne in #677
  • Fix "_instance_bindings != nullptr" for Wrapped objects. by @Faless in #798
  • Add debug information to Windows builds by @Kev in #796
  • Allow GDCLASS in own namespaces by @Kev in #799
  • Fix wrong specifiers & filepaths in .gdextension, breaking the export by @RiederAlex in #803
  • Add support for property_*_revert methods by @YuriSizov in #814
  • Add support for implementing special virtual methods. by @bruvzg in #816
  • Native structures forward declaration by @KarstenMaxim in #703
  • Fix Basis constructor: row vectors -> column vectors by @zhehangd in #822
  • Update extension api to alpha 15 by @clayjohn in #824
  • Ensure GDCLASS can be used outside the godot namespace. by @Faless in #823
  • Generate constants in the bindings generator by @aaronfranke in #828
  • Relicense integration testing project under public domain/Unlicense by @akien-mga in #817
  • Add Godot 3.x ignores to the .gitignore file in master by @aaronfranke in #833
  • Fix get_file_list not returning all generated files. by @Faless in #836
  • Update hashfuncs, add some missing math funcs. by @Faless in #819
  • Add SelfList template by @rburing in #839
  • Move some methods to Animation from Variant by @TokageItLab in #840
  • Change PropertyInfo members to String. by @bruvzg in #826
  • Fix issues with _get and _get_property_list by @Zylann in #844
  • Add missing Vector4 function bindings by @ninfur in #847
  • Class constants should be static by @Zylann in #848
  • Add Object::cast_to for const Object* by @Zylann in #849
  • Add Transform3D translated_local, rotated_local, scaled_local by @Zylann in #850
  • Use quaternion instead of quat in method names by @Zylann in #851
  • Update math functions with recent changes and additions from Godot by @aaronfranke in #852
  • Add options to use scons caching for faster iteration. by @PapyChacal in #838
  • [SCons] Add "optimize" and "debug_symbols" options. by @Faless in #835
  • [CI] Add concurrency and scons caching. by @Faless in #853
  • Rename Transform2D and Basis elements to columns and rows respectively by @aaronfranke in #856
  • Implement support for typed arrays. by @bruvzg in #841
  • Add wrapper function generation for built-in module ↔ godot-cpp interoperability. by @bruvzg in #870
  • [SCons] Unify tools/target build type configuration by @Faless in #867
  • Update Vector2/2i/3/3i/4/4i to match the engine by @aaronfranke in #857
  • Update Basis/Transform3D/Quaternion to match the engine by @aaronfranke in #859
  • Fix deriving a custom class with virtual methods by @Zylann in #855
  • Fix passing null to functions taking Object parameters by @Zylann in #864
  • Use struct instead of class for core structures by @aaronfranke in #880
  • Add detail infos for binding error message. by @Daylily-Zeleen in #876
  • Bind enums in built-in types and expose bindings for global constants by @mihe in #881
  • Update Makefile after recent buildsystem changes by @akien-mga in #884
  • Update core data structures to match the engine by @aaronfranke in #885
  • Fix Variant types displayed as Nil in extension_api.json by @touilleMan in #879
  • Add more static checks and move to separate file to match main repo by @aaronfranke in #887
  • Fix use-after-free when deleting objects from extension terminator by @mihe in #891
  • Use enum type in GDExtension info structs for better readability by @touilleMan in #888
  • Add support for registering virtual and abstract classes by @rburing in #883
  • Add missing bindings for GDNativePtr. by @Faless in #895
  • [SCons] Remove bogus CCFLAGS from windows toolchain. by @Faless in #908
  • Uses StringName in GDExtension perf critical instance creation & method/properties setter/getter by @touilleMan in #896
  • Fix Android build on macOS. by @bruvzg in #913
  • Fix namespace isolation in GDCLASS macro by @touilleMan in #920
  • Update named colors to be in sync with the engine by @aaronfranke in #924
  • Basic static analysis fixes by @asmaloney in #929
  • [SCons] Link MSVC debug runtime for optimize=none|debug only. by @Faless in #932
  • Add missing String operators by @rune-scape in #930
  • Fix some type warnings in example by @asmaloney in #927
  • Fix lifetime of StringName objects returned by Wrapped::_get_property_list by @touilleMan in #940
  • Fix const qualifier for parameters in GDExtension api functions by @touilleMan in #897
  • {cmake} Updates for target-based approach by @asmaloney in #947
  • Fix cast on PtrToArg::convert by @touilleMan in #948
  • Rename GDNative to GDExtension by @groud in #952
  • Change example code to properly test refcounted objects by @BastiaanOlij in #949
  • Use int64_t for BitField as in Godot itself by @DmitriySalnikov in #959
  • Fix virtual GDExtension method Ref conversion by @BastiaanOlij in #958
  • Rename godot-headers to gdextension, move header to top folder by @akien-mga in #960
  • Extension header: amend const correctness of p_args parameters by @Bromeon in #962
  • Make build_library=no usable at godot-cpp's root by @PapyChacal in #903
  • Fix incorrect length passed to CharString by @mihe in #961
  • [SCons] Platform agnostic default toolchain (GNU). by @Faless in #971
  • Add .gdignore file to godot-cpp, for use as submodule in Godot projects by @akien-mga in #974
  • Fix enum return value size. by @bruvzg in #987
  • [SCons] Fix custom API file/dir relative paths. by @Faless in #968
  • Allow method binds to take Object subclasses as arguments by @Faless in #989
  • Rename float=64 build option to precision=double by @rburing in #988
  • CI: Use clang-format 15 by @akien-mga in #990
  • Added property info for Object's and Ref's and ported the implementation of the check method by @DmitriySalnikov in #950
  • Fix spelling in demo script by @asmaloney in #991
  • Add conversions between Variant and ObjectID by @rburing in #983
  • Fix a shadowed enum (EulerOrder) by @asmaloney in #997
  • Fix Variant::can_convert[_strict] returning gibberish. by @Faless in #1000
  • Fix Basis::scaled_orthogonal using incorrect abs function. by @Faless in #1001
  • "Wrapped" has virtual functions so it should have a virtual destructor. by @asmaloney in #998
  • Add a more prominent warning about repository branches in README by @Calinou in #808
  • Expose some low level functions and String operators. by @bruvzg in #939
  • Fix GDCLASS needs explicit ClassDB fwd declaration by @WildRackoon in #965
  • {cmake} Add GODOT_CPP_SYSTEM_HEADERS option to mark includes as SYSTEM by @asmaloney in #1002
  • Remove unused ucaps header by @asmaloney in #1004
  • Fix some sign comparison warnings by @asmaloney in #1005
  • Fix sign comparison warnings in class_db.cpp by @asmaloney in #1006
  • Change behavior of Math::sign to match Godot builtin by @akien-mga in #1003
  • Support typed array default values in extension API by @vnen in #1018
  • Fixed VARIANT_ENUM/BITFIELD_CAST to show the correct names by @DmitriySalnikov in #956
  • Add missing local_vector.hpp template by @WildRackoon in #982
  • Move Array:set_typed to internal GDExtension structure. by @bruvzg in #1013
  • Move DefaultTypedAllocator after memdelete by @mashumafi in #1023
  • Binding generator cleanups by @asmaloney in #977
  • Update typed array API to match "GDScript: Fix typed arrays". by @bruvzg in #1026
  • {cmake} Use the same compiler warnings as godot by @asmaloney in #1008
  • Update error macros to match core by @mihe in #1011
  • Fix global enum cast and add Varint::Type's cast. by @Daylily-Zeleen in #1027
  • Fix improper implicit conversion by @asmaloney in #1028
  • {cmake} Combine target_include_directories by @asmaloney in #1029
  • ExampleRef::get_id() should be const by @asmaloney in #1030
  • {cmake} Use STATIC and POSITION_INDEPENDENT_CODE by @asmaloney in #975
  • array_set_typed() now called with GDExtensionVariantType instead of uint32_t by @Bromeon in #1034
  • Fix Object::cast_to() for custom classes (reverted) by @dsnopek in #1037
  • Fix compilation error: const GDExtensionStringPtr -> GDExtensionConst… by @zhehangd in #1040
  • Revert "Fix Object::cast_to() for custom classes" by @dsnopek in #1046
  • Fix incorrect memory allocation in release builds. by @bruvzg in #1053

New Contributors

Full Changelog: godot-3.3.3-stable...godot-4.0-stable