Skip to content

Commit a370645

Browse files
bors[bot]toasteater
andauthored
Merge #558
558: Prepare for release 0.9 r=toasteater a=toasteater After almost a month of preview, the new API seems solid enough for a proper release. - Bumped all version numbers to 0.9.0 - Removed thrid-party resources that aren't updated to 0.9 yet. - Updated CHANGELOG Draft status: maybe we want to wait for Godot 3.2.3-stable release and update the api.json, since that seems close enough? Co-authored-by: toasteater <[email protected]>
2 parents 3e8a39a + fc8e0f2 commit a370645

File tree

569 files changed

+25472
-3976
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

569 files changed

+25472
-3976
lines changed

CHANGELOG.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10-
## [0.9.0] - TBD
10+
## [0.9.0] - 2020-09-20
1111

1212
### Added
1313

@@ -23,11 +23,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2323

2424
- Added the `godot_init` convenience macro that declares all three endpoints for common use cases.
2525

26-
- Added resource example.
26+
- Added more extension methods for `Vector2`, `Vector3` and `Color`.
27+
28+
- Added wrappers for `GodotString::get_basename` and `get_extensions`.
29+
30+
- Added a high-level interface to the Godot script profiler in the `gdnative::nativescript::profiling` module, and in the `#[gdnative::profiled]` attribute.
31+
32+
- Added before/after hooks for the `#[property]` attribute.
33+
34+
- API methods now have generated documentation according to Godot documentation XMLs. The Godot docs contain custom markup which isn't currently parsed. We expect to improve the generated docs in the following releases.
35+
36+
- Added custom resource example.
2737

2838
### Changed
2939

30-
- **The default API version is now Godot 3.2.2-stable.**
40+
- **The default API version is now Godot 3.2.3-stable.**
3141

3242
- The object reference system is revamped using the typestate pattern, with semantics that model Godot behavior more accurately, allowing for clearer boundaries between safe and unsafe code.
3343

@@ -53,9 +63,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5363

5464
- Improved source links on docs.rs.
5565

56-
- `bindgen` is updated to 0.54.0.
66+
- `bindgen` is updated to 0.55.1.
5767

58-
- `euclid` is updated to 0.20.13.
68+
- `euclid` is updated to 0.22.1.
5969

6070
- Improved build time performance.
6171

@@ -69,6 +79,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6979

7080
- Removed generated bindings for virtual methods, since they cannot actually be called.
7181

82+
- Removed `From` implementations for `Variant` since `ToVariant` is much more comprehensive.
83+
7284
### Fixed
7385

7486
- Fixed typos in variant names of `VariantOperator` and `GodotError`.
@@ -81,6 +93,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8193

8294
- Macros can now be used with qualified imports, removing the need for `#[macro_use]`.
8395

96+
- Fixed an issue where `Rid` arguments passed to API methods are incorrect due to use-after-free.
97+
8498
## [0.8.1] - 2020-05-31
8599

86100
### Added

README.md

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Rust bindings to the [Godot game engine](http://godotengine.org/).
88

9-
**[User Guide](https://godot-rust.github.io/book/)** | **[API Documentation](https://docs.rs/gdnative/0.9.0-preview.0/gdnative/)**
9+
**[User Guide](https://godot-rust.github.io/book/)** | **[API Documentation](https://docs.rs/gdnative/0.9.0/gdnative/)**
1010

1111
## Stability
1212

@@ -28,21 +28,21 @@ The generator makes use of `bindgen`, which depends on Clang. Instructions for i
2828

2929
## Usage
3030

31-
### Godot 3.2.2-stable
31+
### Godot 3.2.3-stable
3232

3333
After `bindgen` dependencies are installed, add the `gdnative` crate as a dependency, and set the crate type to `cdylib`:
3434

3535
```toml
3636
[dependencies]
37-
gdnative = "0.9.0-preview.0"
37+
gdnative = "0.9.0"
3838

3939
[lib]
4040
crate-type = ["cdylib"]
4141
```
4242

4343
### Other versions or custom builds
4444

45-
The bindings are currently generated from the API description of Godot 3.2.2-stable by default. To use the bindings with another version or a custom build, see [Using custom builds of Godot](https://godot-rust.github.io/book/advanced-guides/custom-bindings.html) in the user guide.
45+
The bindings are currently generated from the API description of Godot 3.2.3-stable by default. To use the bindings with another version or a custom build, see [Using custom builds of Godot](https://godot-rust.github.io/book/advanced-guides/custom-bindings.html) in the user guide.
4646

4747
## Example
4848

@@ -92,29 +92,14 @@ The [/examples](https://github.com/godot-rust/godot-rust/tree/master/examples) d
9292

9393
## Third-party resources
9494

95-
### Open-source projects
96-
97-
- Pong - https://github.com/you-win/godot-pong-rust
98-
- Air Combat - https://github.com/paytonrules/AirCombat - This [Godot Tutorial](https://devga.me/tutorials/godot2d/) ported to Rust.
99-
100-
Several third-party resources have been created for the bindings. However, most of them are not updated for 0.9. If you have updated yours, open a PR to let us know!
101-
102-
<details><summary>Outdated resources for godot-rust 0.8</summary>
103-
<p>
104-
10595
### Tutorials
10696

107-
- In depth Hello World tutorial - [Gorgeous Godot games in Rust](https://medium.com/@recallsingularity/gorgeous-godot-games-in-rust-1867c56045e6?source=friends_link&sk=c2fd85689b4638eae4d91b743439c75f)
10897
- Step by step guide - [Up and running with Rust and Godot: A basic setup](https://hagsteel.com/posts/godot-rust/)
109-
- Writup/Tutorial on how to port GDScript to Rust - [Porting Godot Games to Rust](https://paytonrules.com/post/games-in-rust-with-godot-part-one/)
110-
- Guide and sample CI powered multi-platform Rust/GDNative based boilerplate project - https://github.com/tommywalkie/sample-godot-rust-app
111-
112-
### Utilities
11398

114-
- Auto Setup Script (as git dependency) - https://gitlab.com/ardawan-opensource/gdnative-rust-setup
99+
### Open-source projects
115100

116-
</p>
117-
</details>
101+
- Pong - https://github.com/you-win/godot-pong-rust
102+
- Air Combat - https://github.com/paytonrules/AirCombat - This [Godot Tutorial](https://devga.me/tutorials/godot2d/) ported to Rust.
118103

119104
## Contributing
120105

bindings_generator/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ authors = ["The godot-rust developers"]
44
description = "Generates bindings for the Godot engine's gdnative classes from a json api description file."
55
documentation = "https://docs.rs/crate/gdnative_bindings_generator"
66
repository = "https://github.com/godot-rust/godot-rust"
7+
homepage = "https://godot-rust.github.io/"
78
license = "MIT"
8-
version = "0.9.0-preview.0"
9+
version = "0.9.0"
910
workspace = ".."
1011
edition = "2018"
1112

gdnative-bindings/Cargo.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ authors = ["The godot-rust developers"]
44
description = "The Godot game engine's automatcally generated bindings to Godot classes."
55
documentation = "https://docs.rs/crate/gdnative-bindings"
66
repository = "https://github.com/godot-rust/godot-rust"
7-
version = "0.9.0-preview.0"
7+
homepage = "https://godot-rust.github.io/"
8+
version = "0.9.0"
89
license = "MIT"
910
workspace = ".."
1011
edition = "2018"
@@ -14,11 +15,11 @@ formatted = []
1415
one_class_one_file = []
1516

1617
[dependencies]
17-
gdnative-sys = { path = "../gdnative-sys", version = "0.9.0-preview.0" }
18-
gdnative-core = { path = "../gdnative-core", version = "=0.9.0-preview.0" }
18+
gdnative-sys = { path = "../gdnative-sys", version = "0.9.0" }
19+
gdnative-core = { path = "../gdnative-core", version = "=0.9.0" }
1920
libc = "0.2"
2021
bitflags = "1.2"
2122

2223
[build-dependencies]
2324
heck = "0.3.0"
24-
gdnative_bindings_generator = { path = "../bindings_generator", version = "=0.9.0-preview.0" }
25+
gdnative_bindings_generator = { path = "../bindings_generator", version = "=0.9.0" }

0 commit comments

Comments
 (0)