Skip to content

Commit

Permalink
Merge #874
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bors[bot] and Bromeon committed Mar 19, 2022
2 parents 61946a7 + cd012f8 commit 6807207
Show file tree
Hide file tree
Showing 33 changed files with 314 additions and 555 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/full-ci.yml
Expand Up @@ -32,7 +32,7 @@ env:

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

Expand Down Expand Up @@ -249,13 +249,13 @@ jobs:
include:
# Latest Godot with different Rust versions
- rust: stable
godot: "3.4.1"
godot: "3.4.3"
postfix: ''
- rust: nightly
godot: "3.4.1"
godot: "3.4.3"
postfix: ' (nightly)'
- rust: '1.56'
godot: "3.4.1"
godot: "3.4.3"
postfix: ' (msrv 1.56)'

# Test with oldest supported engine version
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/minimal-ci.yml
Expand Up @@ -13,6 +13,8 @@ env:
# Local variables
# Note: using variables is limited at the moment, see https://github.com/actions/runner/issues/480
GODOT_VER: "3.4.1"

# Don't use more features like "gdnative_bindings_generator/debug" to keep CI truly minimal
GDRUST_FEATURES: "gdnative/async,gdnative/serde"

on:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/release-version.yml
Expand Up @@ -8,7 +8,8 @@ on:
- '0.10.[0-9]+-?*'

env:
GDRUST_FEATURES: "gdnative/async,gdnative/serde"
# Note: used for test and clippy, not for publish
GDRUST_FEATURES: "gdnative/async,gdnative/serde,gdnative_bindings_generator/debug"

# Crates to publish -- important, this doesn't work when there are spaces in any of the paths!
GDRUST_CRATES: >
Expand Down
14 changes: 12 additions & 2 deletions CHANGELOG.md
Expand Up @@ -5,7 +5,9 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.10.0] - unreleased
## [0.10.0] - 2022-03-19

(Version `0.10.0-rc.0` has been integrated into this change set)

### Added

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

Expand Down
8 changes: 4 additions & 4 deletions README.md
Expand Up @@ -14,7 +14,7 @@

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).

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

## Engine compatibility

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

```toml
[dependencies]
gdnative = "0.10.0-rc.0"
gdnative = "0.10"

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

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:

```rs
```rust
use gdnative::prelude::*;

#[derive(NativeClass)]
Expand Down Expand Up @@ -104,7 +104,7 @@ godot_init!(init);
>
> Before launching the examples in the Godot editor, you must first run `cargo build` and wait for the build operations to finish successfully.
>
>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.
>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.
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:

Expand Down
21 changes: 21 additions & 0 deletions assets/godot-ferris-license.md
@@ -0,0 +1,21 @@
# Asset licenses

The godot-rust logo is derived from some of the following work.
Minor changes to improve rendering have been applied by godot-rust contributors.

| Asset | Website | Author | License |
|-------------------|------------------------|--------------------|-------------------|
| Rust Ferris | [rustacean.net] | _(not attributed)_ | [Public Domain] |
| Ferris emoji | [noct.zone] | Dzuk | [CC BY-NC-SA 4.0] |
| Godot logo | [godotengine.org] | Andrea Calabró | [CC-BY-4.0] |
| godot-rust Ferris | [godot-rust.github.io] | _(not attributed)_ | [CC BY-NC-SA 4.0] |


[rustacean.net]: https://www.rustacean.net
[noct.zone]: https://noct.zone
[godotengine.org]: https://godotengine.org
[godot-rust.github.io]: https://godot-rust.github.io

[Public Domain]: https://creativecommons.org/publicdomain/zero/1.0
[CC-BY-4.0]: https://creativecommons.org/licenses/by/4.0
[CC BY-NC-SA 4.0]: https://creativecommons.org/licenses/by-nc-sa/4.0
18 changes: 0 additions & 18 deletions assets/godot-ferris-license.txt

This file was deleted.

94 changes: 0 additions & 94 deletions assets/godot-rust.svg

This file was deleted.

0 comments on commit 6807207

Please sign in to comment.