@@ -5,6 +5,137 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
6
6
and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
7
7
8
+ ## [ 0.10.0] - unreleased
9
+
10
+ ### Added
11
+
12
+ - Crate features
13
+ - ` serde ` : support for serialization/deserialization of ` VariantDispatch ` and core types ([ #743 ] ( https://github.com/godot-rust/godot-rust/pull/743 ) )
14
+ - ` async ` : foundation for async/await programming ([ #804 ] ( https://github.com/godot-rust/godot-rust/pull/804 ) )
15
+ - ` custom-godot ` , allowing easy use of custom Godot builds
16
+ ([ #833 ] ( https://github.com/godot-rust/godot-rust/pull/833 ) ,
17
+ [ #838 ] ( https://github.com/godot-rust/godot-rust/pull/838 ) )
18
+ - New top-level modules ` init ` , ` log ` , ` profiler ` , ` derive `
19
+ ([ #788 ] ( https://github.com/godot-rust/godot-rust/pull/788 ) ,
20
+ [ #800 ] ( https://github.com/godot-rust/godot-rust/pull/800 ) ,
21
+ [ #811 ] ( https://github.com/godot-rust/godot-rust/pull/811 ) )
22
+ - Geometric types
23
+ - ` Vector2 ` and ` Vector3 ` constants ([ #718 ] ( https://github.com/godot-rust/godot-rust/pull/718 ) )
24
+ - ` Quat ` methods ([ #720 ] ( https://github.com/godot-rust/godot-rust/pull/720 ) )
25
+ - ` Transform2D ` methods ([ #791 ] ( https://github.com/godot-rust/godot-rust/pull/791 ) )
26
+ - ` Transform ` methods ([ #821 ] ( https://github.com/godot-rust/godot-rust/pull/821 ) )
27
+ - Other core types
28
+ - ` VariantDispatch ` struct + ` Variant::dispatch() ` ([ #708 ] ( https://github.com/godot-rust/godot-rust/pull/708 ) )
29
+ - ` Color ` conversions: ` from_hsv() ` , ` from_hsva() ` , ` to_*() ` ([ #729 ] ( https://github.com/godot-rust/godot-rust/pull/729 ) )
30
+ - ` GodotString::format() ` ([ #816 ] ( https://github.com/godot-rust/godot-rust/pull/816 ) )
31
+ - ` AsArg ` for ` Instance ` + ` TInstance ` ([ #830 ] ( https://github.com/godot-rust/godot-rust/pull/830 ) )
32
+ - ` TRef::get_node_as() ` through ` NodeExt ` ([ #727 ] ( https://github.com/godot-rust/godot-rust/pull/727 ) )
33
+ - ` PoolArray::to_vec() ` ([ #843 ] ( https://github.com/godot-rust/godot-rust/pull/843 ) )
34
+ - Exporting
35
+ - ` #[property(get, set)] ` and ` Property<T> ` for custom getters/setters ([ #841 ] ( https://github.com/godot-rust/godot-rust/pull/841 ) )
36
+ - Array typehints ([ #639 ] ( https://github.com/godot-rust/godot-rust/pull/639 ) )
37
+ - Type-safe registration (` Method ` , ` Varargs ` , ` FromVarargs ` , ...) ([ #681 ] ( https://github.com/godot-rust/godot-rust/pull/681 ) )
38
+ - ` ClassBuilder::signal() ` + ` SignalBuilder ` ([ #828 ] ( https://github.com/godot-rust/godot-rust/pull/828 ) )
39
+ - ` #[export] ` now accepts a method name ([ #734 ] ( https://github.com/godot-rust/godot-rust/pull/734 ) )
40
+ - ` ArcData::into_inner() ` ([ #700 ] ( https://github.com/godot-rust/godot-rust/pull/700 ) )
41
+ - ` MapOwned ` trait + ` Once<T> ` user-data ([ #693 ] ( https://github.com/godot-rust/godot-rust/pull/693 ) )
42
+ - ` NoHint ` for forward compatibility ([ #690 ] ( https://github.com/godot-rust/godot-rust/pull/690 ) )
43
+
44
+ ### Changed
45
+
46
+ - MSRV is now 1.51 ([ #833 ] ( https://github.com/godot-rust/godot-rust/pull/833 ) )
47
+ - ` euclid ` vector library replaced with ` glam ` , no longer part of public API ([ #713 ] ( https://github.com/godot-rust/godot-rust/pull/713 ) )
48
+ - ` Variant ` has now a redesigned conversion API ([ #819 ] ( https://github.com/godot-rust/godot-rust/pull/819 ) )
49
+ - Type renames (815, 828)
50
+ - ` RefInstance ` -> ` TInstance `
51
+ - ` RefKind ` -> ` Memory `
52
+ - ` ThreadAccess ` -> ` Ownership `
53
+ - ` TypedArray ` -> ` PoolArray `
54
+ - ` Element ` -> ` PoolElement `
55
+ - ` SignalArgument ` -> ` SignalParam `
56
+ - Simplified module structure
57
+ ([ #788 ] ( https://github.com/godot-rust/godot-rust/pull/788 ) ,
58
+ [ #811 ] ( https://github.com/godot-rust/godot-rust/pull/811 ) )
59
+ - 1 module per symbol (+prelude), no symbols at root, lower nesting depth
60
+ - Rename ` nativescript ` -> ` export `
61
+ - Move ` export::{Instance,RefInstance} ` -> ` object `
62
+ - More details: see PR descriptions
63
+ - Geometric types API consistency ([ #827 ] ( https://github.com/godot-rust/godot-rust/pull/827 ) )
64
+ - Rename basis vectors ` x, y, z ` -> ` a, b, c `
65
+ - Pass by value/ref consistency
66
+ - Other changes (see PRs)
67
+ - Method renames
68
+ - ` {String,Variant}::forget() ` -> ` leak() ` ([ #828 ] ( https://github.com/godot-rust/godot-rust/pull/828 ) )
69
+ - ` Color::{rgb,rgba}() ` -> ` {from_rgb,from_rgba}() `
70
+ - ` Rid::is_valid() ` -> ` is_occupied() `
71
+ - ` Basis::to_scale() ` -> ` scale() `
72
+ - ` Basis::from_elements() ` -> ` from_rows() `
73
+ - ` Transform2D::from_axis_origin() ` -> ` from_basis_origin() `
74
+ - Relax ` Dictionary ` key bounds: ` ToVariant ` -> ` OwnedToVariant ` ([ #809 ] ( https://github.com/godot-rust/godot-rust/pull/809 ) )
75
+ - ` #[inherit] ` is now optional and defaults to ` Reference ` ([ #705 ] ( https://github.com/godot-rust/godot-rust/pull/705 ) )
76
+ - ` Instance ` and ` TInstance ` now use ` Own=Shared ` by default ([ #823 ] ( https://github.com/godot-rust/godot-rust/pull/823 ) )
77
+ - Ergonomics improvements for ` get_node_as() ` & Co. ([ #837 ] ( https://github.com/godot-rust/godot-rust/pull/837 ) )
78
+ - Separate trait for ` NativeClass ` static names ([ #847 ] ( https://github.com/godot-rust/godot-rust/pull/847 ) )
79
+ - Generated docs: Godot BBCode translated to RustDoc, including intra-doc links ([ #779 ] ( https://github.com/godot-rust/godot-rust/pull/779 ) )
80
+
81
+ ### Removed
82
+
83
+ (Renames listed under _ Changed_ , safety removals under _ Fixed_ )
84
+
85
+ - Crate features
86
+ - ` nativescript ` ([ #812 ] ( https://github.com/godot-rust/godot-rust/pull/812 ) )
87
+ - ` bindings ` ([ #833 ] ( https://github.com/godot-rust/godot-rust/pull/833 ) )
88
+ - All redundant or unnecessarily nested modules (see _ Changed_ )
89
+ - Deprecated symbols ([ #828 ] ( https://github.com/godot-rust/godot-rust/pull/828 ) )
90
+ - ` Reference::init_ref() ` (unsound)
91
+ - ` ClassBuilder::add_method() ` , ` add_method_advanced() ` , ` add_method_with_rpc_mode() `
92
+ - ` ScriptMethod ` , ` ScriptMethodFn ` , ` ScriptMethodAttributes `
93
+ - Never functioning or misleading
94
+ - ` FloatHint::Enum ` ([ #828 ] ( https://github.com/godot-rust/godot-rust/pull/828 ) )
95
+ - ` Transform::from_axis_origin() ` ([ #827 ] ( https://github.com/godot-rust/godot-rust/pull/827 ) )
96
+ - Redundant methods (cleaner API)
97
+ - access methods for ` VariantArray<Shared> ` ([ #795 ] ( https://github.com/godot-rust/godot-rust/pull/795 ) )
98
+ - ` Basis::invert() ` , ` orthonormalize() ` , ` rotate() ` , ` tdotx() ` , ` tdoty() ` , ` tdotz() ` ([ #827 ] ( https://github.com/godot-rust/godot-rust/pull/827 ) )
99
+ - ` Rid::operator_less() ` ([ #844 ] ( https://github.com/godot-rust/godot-rust/pull/844 ) )
100
+ - From ` prelude `
101
+ - macros` godot_gdnative_init ` , ` godot_gdnative_terminate ` , ` godot_nativescript_init ` , ` godot_site ` ([ #811 ] ( https://github.com/godot-rust/godot-rust/pull/811 ) )
102
+
103
+ ### Fixed
104
+
105
+ - Exports
106
+ - Class registry for detection of already registered classes and improved errors ([ #737 ] ( https://github.com/godot-rust/godot-rust/pull/737 ) )
107
+ - Exported properties now registered in order of declaration ([ #777 ] ( https://github.com/godot-rust/godot-rust/pull/777 ) )
108
+ - Signal parameter types annotated in builder not propagated to Godot ([ #828 ] ( https://github.com/godot-rust/godot-rust/pull/828 ) )
109
+ - GDNative bindings
110
+ - "Safe names" for GDNative symbols conflicting with Rust keywords
111
+ ([ #812 ] ( https://github.com/godot-rust/godot-rust/pull/812 ) ,
112
+ [ #832 ] ( https://github.com/godot-rust/godot-rust/pull/832 ) )
113
+ - Unresolved enum name in bindings generator ([ #840 ] ( https://github.com/godot-rust/godot-rust/pull/840 ) )
114
+ - Silence UB warnings caused by bindgen ([ #776 ] ( https://github.com/godot-rust/godot-rust/pull/776 ) )
115
+ - ` .gdnlib ` in integration tests now non-reloadable ([ #746 ] ( https://github.com/godot-rust/godot-rust/pull/746 ) )
116
+ - Core
117
+ - Bugs in ` Basis * Vector3 ` + ` Vector3::rotated() ` ([ #760 ] ( https://github.com/godot-rust/godot-rust/pull/760 ) )
118
+ - ` VariantArray ` : bounds check, remove unsafe methods for VariantArray<Shared > ([ #795 ] ( https://github.com/godot-rust/godot-rust/pull/795 ) )
119
+ - ` Variant::call() ` now unsafe, like ` Object::call() ` ([ #795 ] ( https://github.com/godot-rust/godot-rust/pull/795 ) )
120
+ - ` Rid ` ([ #844 ] ( https://github.com/godot-rust/godot-rust/pull/844 ) ):
121
+ - GDNative APIs accepting it now unsafe
122
+ - Method ` get_id() ` now unsafe and null-checked
123
+ - Fix logic error in ` PartialOrd `
124
+ - ` Dictionary ` :
125
+ - Fix unsound ` get() ` ([ #748 ] ( https://github.com/godot-rust/godot-rust/pull/748 ) )
126
+ - Remove ` get_next() ` ([ #795 ] ( https://github.com/godot-rust/godot-rust/pull/795 ) )
127
+ - Error messages conforming to Rust conventions ([ #731 ] ( https://github.com/godot-rust/godot-rust/pull/731 ) )
128
+ - Qualify identifiers in proc-macros, avoids potential naming conflicts ([ #835 ] ( https://github.com/godot-rust/godot-rust/pull/835 ) )
129
+ - Library logo ([ #801 ] ( https://github.com/godot-rust/godot-rust/pull/801 ) )
130
+
131
+ ### Config
132
+
133
+ - CI overhaul: run for every PR, shorter runtime, cache ([ #783 ] ( https://github.com/godot-rust/godot-rust/pull/783 ) )
134
+ - Automatic publishing of ` master ` docs ([ #786 ] ( https://github.com/godot-rust/godot-rust/pull/786 ) )
135
+ - Issue templates ([ #807 ] ( https://github.com/godot-rust/godot-rust/pull/807 ) )
136
+ - Add ` cargo-deny ` to CI ([ #849 ] ( https://github.com/godot-rust/godot-rust/pull/849 ) )
137
+
138
+
8
139
## [ 0.9.3] - 2021-02-02
9
140
10
141
### Fixed
0 commit comments