Skip to content

Commit 376ef8c

Browse files
bors[bot]Bromeon
andauthored
Merge #845
845: Changelog for v0.10 r=Bromeon a=Bromeon ▶️ [**Rendered**](https://github.com/Bromeon/godot-rust/blob/feature/changelog/CHANGELOG.md) Initial draft. I tried to reconstruct it from commit history. I may replace the PR numbers with proper links, but if I do it too early, it will spam hundreds of comments with cross-references from repeated bors runs. Please check if I'm missing something important. Co-authored-by: Jan Haller <[email protected]>
2 parents c112d06 + c725c4c commit 376ef8c

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

CHANGELOG.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,137 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

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+
8139
## [0.9.3] - 2021-02-02
9140

10141
### Fixed

0 commit comments

Comments
 (0)