Skip to content

chore: create 0.9.7 release notes #318

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 23, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions release-notes/0.9.7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# [`bevy_mod_scripting`](https://github.com/makspll/bevy_mod_scripting/) 0.9.7 is out!

![image](https://github.com/user-attachments/assets/6ae0f927-ea1b-4d90-a809-4cc513e49b18)

## Summary
- Adds ability to construct arbitrary types and enums via `construct` global functions:
```lua
local myStruct = construct(StructType, {
foo = bar
zoo = construct(NestedType {
foo = bar
})
})

local myEnum = construct(EnumType, {
variant = "StructVariant"
foo = Bar
})

local myTupleStructEnum = construct(EnumType, {
variant = "TupleStructVariant"
_1 = bar
})
```

- BMS will now automatically register components with `ReflectComponent` type data, so that you can query them as components *before* inserting them into entities. i.e.:
```rust
#[derive(Reflect, ..)]
#[reflect(Component)]
struct MyComp;
```

- `ReflectAllocator` diagnostics are now available conveniently packaged as a plugin (measuring current allocation count + deallocations):
```rust
app.add_plugins(AllocatorDiagnosticPlugin)
```

- Initial documentation generation from LAD files is now being published with the book over at https://makspll.github.io/bevy_mod_scripting/ladfiles/bindings.lad.html
- This is still a prototype, but will contain useful information on bindings BMS exports by default.
- LAD files are in a good shape, but some details need to be polished before they become stable
- work on other backends (other than mdbook) should be possible now, albeit changes are expected

## Fixes
- When an asset handle is requested and immediately dropped, the previously confusing error: `A script was added but it's asset was not found, failed to compute metadata. This script will not be loaded.` was downgraded to a warning with a helpful hint.
- Cases where resource/component/allocation locks would not be correctly released in the case of script function errors or short-circuting logic were fixed
- The `bevy/reflect_functions` and `bevy/file_watcher` feature flags are no longer pulled into the dependency tree by BMS, reducing bloat.

## Changelog
See a detailed changelog [here](https://github.com/makspll/bevy_mod_scripting/blob/main/CHANGELOG.md)
Loading