Skip to content

Releases: TGRCdev/bevy-butler

bevy-butler 0.5.6

08 Feb 20:14
Compare
Choose a tag to compare

Changes

  • Lowered minimum Bevy version from 0.15.1 to 0.15.0

bevy-butler 0.5.5

04 Feb 04:21
Compare
Choose a tag to compare

Changes

  • #[system] now has the pipe_in argument, which allows specifying a chain of systems to pipe input from. [#14]
  • Added #[butler_plugin_group] and #[add_to_group], which allows defining PluginGroups using annotations, similar to #[butler_plugin] and #[system]. [#16]

bevy-butler 0.5.4

31 Jan 20:52
Compare
Choose a tag to compare

Work is a little slow because classes are biting back at me right now.

Changes

  • Enums can now be annotated with #[butler_plugin], #[event], #[register_type] and #[resource]. [#18]

bevy-butler 0.5.3

27 Jan 21:30
v0.5.3
0533dc9
Compare
Choose a tag to compare

Additions

  • #[register_type] can be used to register Reflect types within a plugin's initialization (#8)

Changes

  • #[resource] and #[event] now support the generics argument (#15)
  • #[observer] can now be used on use statements.

bevy-butler 0.5.2

27 Jan 01:23
483dafa
Compare
Choose a tag to compare

Additions

  • #[resource] can be used to automatically initialize resources upon your plugin being added [#7]
    #[derive(Resource)]
    #[resource(plugin = MyPlugin, init = Message("Hello, world!".to_string())]
    struct Message(String);
  • #[event] automatically registers events with app.add_event::<MyEvent>() [#9]
    #[derive(Event)]
    #[event(plugin = MyPlugin)]
    struct UserJoined(String);
  • #[system] now works with use statements [#11]
    mod my_mod {
        pub(super) fn hello_world() {
            info!("Hello, world!");
        }
    }
    
    #[system(plugin = MyPlugin, schedule = Startup)]
    use my_mod::hello_world;

Bug fixes

  • schedule now accepts expressions instead of just type paths, for schedules like OnEnter(MyState::MyVariant) [#12]

bevy-butler 0.5.1

24 Jan 00:47
60dd733
Compare
Choose a tag to compare

Changes

  • Fixed #[butler_plugin] stages not allowing methods with generic arguments like register_type::<MyType>. [#4, #5]
  • Added the #[observer] macro for registering Observers. [#6]

bevy-butler 0.5.0

23 Jan 06:54
7bcd2f1
Compare
Choose a tag to compare

This release includes a complete rewrite to improve performance and diagnostic information! It should also be much less buggy, and supports new features!

Changes

  • Generic systems can now be declared with the generics = <...> argument in #[system]
  • Multiple #[system] invocations can be applied to the same system, as long as the attribute arguments are unique
    • i.e. One system can be registered to multiple plugins, multiple schedules, different generic arguments, etc.
  • config_systems! and system_set! now support nested invocations
  • Experimental WASM support was added, which can be tested with the wasm-experimental feature flag.
  • inventory is available as an alternative backend behind the inventory feature flag.

Breaking changes

  • Experimental syntax like #[config_systems_block] has been removed.
  • The nightly feature flag is no longer required, and has been removed.