Skip to content

Commit 6807207

Browse files
bors[bot]Bromeon
andauthored
Merge #874
874: Prepare 0.10.0 release r=Bromeon a=Bromeon API changes: * Remove `#[property(before_get|before_set|after_get|after_set)]` * `NameString`: slight modernization * `Plane`: API consistency, unit-length invariant enforced, tests Config: * Update changelog + ReadMe * Use `debug` feature in bindings generator; fix related issue not detected in CI * Minor dependency + clippy + check.sh adjustments * Update godot-rust version: `0.10.0-rc.0` -> `0.10.0` * Examples: package names consistent with directories * Use Godot 3.4.1 in CI Co-authored-by: Jan Haller <bromeon@gmail.com>
2 parents 61946a7 + cd012f8 commit 6807207

File tree

33 files changed

+314
-555
lines changed

33 files changed

+314
-555
lines changed

.github/workflows/full-ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ env:
3232

3333
# Local variables
3434
# Note: using variables is limited at the moment, see https://github.com/actions/runner/issues/480
35-
GDRUST_FEATURES: "gdnative/async,gdnative/serde"
35+
GDRUST_FEATURES: "gdnative/async,gdnative/serde,gdnative_bindings_generator/debug"
3636
CARGO_DENY_VERSION: "0.11.0"
3737
CARGO_DINGHY_VERSION: "0.4.68"
3838

@@ -249,13 +249,13 @@ jobs:
249249
include:
250250
# Latest Godot with different Rust versions
251251
- rust: stable
252-
godot: "3.4.1"
252+
godot: "3.4.3"
253253
postfix: ''
254254
- rust: nightly
255-
godot: "3.4.1"
255+
godot: "3.4.3"
256256
postfix: ' (nightly)'
257257
- rust: '1.56'
258-
godot: "3.4.1"
258+
godot: "3.4.3"
259259
postfix: ' (msrv 1.56)'
260260

261261
# Test with oldest supported engine version

.github/workflows/minimal-ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ env:
1313
# Local variables
1414
# Note: using variables is limited at the moment, see https://github.com/actions/runner/issues/480
1515
GODOT_VER: "3.4.1"
16+
17+
# Don't use more features like "gdnative_bindings_generator/debug" to keep CI truly minimal
1618
GDRUST_FEATURES: "gdnative/async,gdnative/serde"
1719

1820
on:

.github/workflows/release-version.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ on:
88
- '0.10.[0-9]+-?*'
99

1010
env:
11-
GDRUST_FEATURES: "gdnative/async,gdnative/serde"
11+
# Note: used for test and clippy, not for publish
12+
GDRUST_FEATURES: "gdnative/async,gdnative/serde,gdnative_bindings_generator/debug"
1213

1314
# Crates to publish -- important, this doesn't work when there are spaces in any of the paths!
1415
GDRUST_CRATES: >

CHANGELOG.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ 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
8+
## [0.10.0] - 2022-03-19
9+
10+
(Version `0.10.0-rc.0` has been integrated into this change set)
911

1012
### Added
1113

@@ -47,7 +49,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4749
- Rust edition is now 2021 ([#870](https://github.com/godot-rust/godot-rust/pull/870))
4850
- `euclid` vector library replaced with `glam`, no longer part of public API ([#713](https://github.com/godot-rust/godot-rust/pull/713))
4951
- `Variant` has now a redesigned conversion API ([#819](https://github.com/godot-rust/godot-rust/pull/819))
50-
- Type renames (815, 828)
52+
- Type renames ([#815](https://github.com/godot-rust/godot-rust/pull/815), [#828](https://github.com/godot-rust/godot-rust/pull/828))
5153
- `RefInstance` -> `TInstance`
5254
- `RefKind` -> `Memory`
5355
- `ThreadAccess` -> `Ownership`
@@ -64,6 +66,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6466
- Geometric types API consistency ([#827](https://github.com/godot-rust/godot-rust/pull/827))
6567
- Rename basis vectors `x, y, z` -> `a, b, c`
6668
- Pass by value/ref consistency
69+
- `Plane` invariants ([#874](https://github.com/godot-rust/godot-rust/pull/874))
6770
- Other changes (see PRs)
6871
- Method renames
6972
- `{String,Variant}::forget()` -> `leak()` ([#828](https://github.com/godot-rust/godot-rust/pull/828))
@@ -72,6 +75,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7275
- `Basis::to_scale()` -> `scale()`
7376
- `Basis::from_elements()` -> `from_rows()`
7477
- `Transform2D::from_axis_origin()` -> `from_basis_origin()`
78+
- `StringName::get_name()` -> `to_godot_string()` ([#874](https://github.com/godot-rust/godot-rust/pull/874))
79+
- `Plane::intersects_*()` -> `intersect_*()` ([#874](https://github.com/godot-rust/godot-rust/pull/874))
80+
- `Plane::normalize()` -> `normalized()`
81+
- `Plane::has_point()` -> `contains_point()` + `contains_point_eps()`
7582
- Relax `Dictionary` key bounds: `ToVariant` -> `OwnedToVariant` ([#809](https://github.com/godot-rust/godot-rust/pull/809))
7683
- `#[inherit]` is now optional and defaults to `Reference` ([#705](https://github.com/godot-rust/godot-rust/pull/705))
7784
- `Instance` and `TInstance` now use `Own=Shared` by default ([#823](https://github.com/godot-rust/godot-rust/pull/823))
@@ -98,6 +105,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
98105
- access methods for `VariantArray<Shared>` ([#795](https://github.com/godot-rust/godot-rust/pull/795))
99106
- `Basis::invert()`, `orthonormalize()`, `rotate()`, `tdotx()`, `tdoty()`, `tdotz()` ([#827](https://github.com/godot-rust/godot-rust/pull/827))
100107
- `Rid::operator_less()` ([#844](https://github.com/godot-rust/godot-rust/pull/844))
108+
- `StringName::operator_less()` ([#874](https://github.com/godot-rust/godot-rust/pull/874))
109+
- Macros and attributes
110+
- `#[property(before_get|before_set|after_get|after_set)]`, replaced with `#[property(get|set)]` ([#874](https://github.com/godot-rust/godot-rust/pull/874))
101111
- From `prelude`
102112
- macros`godot_gdnative_init`, `godot_gdnative_terminate`, `godot_nativescript_init`, `godot_site` ([#811](https://github.com/godot-rust/godot-rust/pull/811))
103113

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
The bindings cover most of the exposed API of Godot 3.4, and are being used on a number of projects in development, but we still expect non-trivial breaking changes in the API in the coming releases. godot-rust adheres to [Cargo's semantic versioning](https://doc.rust-lang.org/cargo/reference/semver.html).
1616

17-
Minimum supported Rust version (MSRV) is **1.56**.
17+
Minimum supported Rust version (MSRV) is **1.56**. We use the Rust 2021 Edition.
1818

1919
## Engine compatibility
2020

@@ -38,7 +38,7 @@ This is the recommended way of using godot-rust. After `bindgen` dependencies an
3838

3939
```toml
4040
[dependencies]
41-
gdnative = "0.10.0-rc.0"
41+
gdnative = "0.10"
4242

4343
[lib]
4444
crate-type = ["cdylib"]
@@ -71,7 +71,7 @@ A typical use case is to expose your own _Native Class_, a Rust API that can be
7171

7272
This happens via dynamic libraries and the _GDNative interface_, which will be loaded from Godot. The necessary wiring is done behind the scenes by godot-rust. A simple "Hello world" application could look like this:
7373

74-
```rs
74+
```rust
7575
use gdnative::prelude::*;
7676

7777
#[derive(NativeClass)]
@@ -104,7 +104,7 @@ godot_init!(init);
104104
>
105105
> Before launching the examples in the Godot editor, you must first run `cargo build` and wait for the build operations to finish successfully.
106106
>
107-
>At startup, the Godot editor tries to load all resources used by the project, including the native library. If the latter isn't present, the editor will skip properties or signals associated with the missing native scripts in the scene. This will cause the scene tree to be non-functional for any sample that relies on properties or signals configured in the editor.
107+
>At startup, the Godot editor tries to load all resources used by the project, including the native library. If the latter isn't present, the editor will skip properties or signals associated with the missing native scripts in the scene. This causes the scene tree to be non-functional for any sample that relies on properties or signals configured in the editor.
108108
109109
The [/examples](https://github.com/godot-rust/godot-rust/tree/master/examples) directory contains several ready to use examples, complete with Godot projects and setup for easy compilation from Cargo:
110110

assets/godot-ferris-license.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Asset licenses
2+
3+
The godot-rust logo is derived from some of the following work.
4+
Minor changes to improve rendering have been applied by godot-rust contributors.
5+
6+
| Asset | Website | Author | License |
7+
|-------------------|------------------------|--------------------|-------------------|
8+
| Rust Ferris | [rustacean.net] | _(not attributed)_ | [Public Domain] |
9+
| Ferris emoji | [noct.zone] | Dzuk | [CC BY-NC-SA 4.0] |
10+
| Godot logo | [godotengine.org] | Andrea Calabró | [CC-BY-4.0] |
11+
| godot-rust Ferris | [godot-rust.github.io] | _(not attributed)_ | [CC BY-NC-SA 4.0] |
12+
13+
14+
[rustacean.net]: https://www.rustacean.net
15+
[noct.zone]: https://noct.zone
16+
[godotengine.org]: https://godotengine.org
17+
[godot-rust.github.io]: https://godot-rust.github.io
18+
19+
[Public Domain]: https://creativecommons.org/publicdomain/zero/1.0
20+
[CC-BY-4.0]: https://creativecommons.org/licenses/by/4.0
21+
[CC BY-NC-SA 4.0]: https://creativecommons.org/licenses/by-nc-sa/4.0

assets/godot-ferris-license.txt

Lines changed: 0 additions & 18 deletions
This file was deleted.

assets/godot-rust.svg

Lines changed: 0 additions & 94 deletions
This file was deleted.

0 commit comments

Comments
 (0)