bevy_auto_plugin 0.8.2

Procedural attribute macros for Bevy apps that reduce boilerplate by automatically registering components, resources, events, states, and systems in your plugin's build function.
Documentation
# Breaking Changes / Migration Guides

## v0.2.x to 0.3

### Updated Imports

- `bevy_auto_plugin::auto_plugin::*` -> `use bevy_auto_plugin::flat_file::prelude::*`
- `bevy_auto_plugin::auto_plugin_module::*` -> `use bevy_auto_plugin::module::prelude::*`

## v0.3 to v0.4

### Specifying generics now uses `generics(T1, T2, ..)`
`#[auto_*(*<*>)]` -> `#[auto_*(generics(*))]`
- enable `legacy_path_param` until you have replaced all usages
- find replace regex:
```regexp
/(auto_\w+)\(\w+<(.*?)>\)/\1(generics(\2))/
```
- for some attributes you can now specify multiple sets `#[auto_(generics(u8, bool), generics(u8, u32))]`

### Enable `flat_file`, `module` modes
- by default flat_file and module modes are not enabled, if you use them enable their respective features:
`features = ["mode_flat_file", "mode_module"]` or `features = ["all_modes"]`
- if you were using the flat_file mode, you might also need to enable `flat_file_lang_server_noop` feature as it's no longer enabled by default

### Updated Imports
- `use bevy_auto_plugin::flat_file::prelude::*` -> `use bevy_auto_plugin::modes::flat_file::prelude::*`
- `use bevy_auto_plugin::module::prelude::*` -> `use bevy_auto_plugin::modes::module::prelude::*`

## v0.4 to v0.5

### `global_auto_plugin(..)` is now just `auto_plugin(..)`

### `auto_plugin(app=..)` is now `auto_plugin(app_param=..)` across all modes

### `flat_file` and `module` modes are deprecated 
  - [see feedback issue if you are using these modes]https://github.com/StrikeForceZero/bevy_auto_plugin/issues/19 or use `global`
  - enable `ignore_flat_file_or_module_deprecation` to disable deprecation warnings if you commented and provided a use case for keeping the modes

## v0.5 to v0.6

### `auto_add_event` is now `auto_add_message`

### `auto_event` changed
  - no longer supports buffered events (use `auto_message`)
  - now requires specifying if it's an `target(global)` or `target(entity)` based `Event` and `EntityEvent` respectively.

## v0.6 to v0.7
  - no longer depending on `bevy_reflect` - if applicable, you can remove the hotfix from your `Cargo.toml`:
    ```toml
    [build-dependencies]
    bevy_reflect = { version = "0.17", features = ["documentation"] }
    ```

### `flat_file` and `module` modes were removed

### Updated Imports
- `use bevy_auto_plugin::modes::global::prelude::*` -> `use bevy_auto_plugin::prelude::*`

## 0.7 to v0.8
- Deprecated `#[auto_plugin]` params `impl_generic_plugin_trait`, use `impl_plugin_trait` instead.
    - `Send + Sync + 'static` are automatically constrained for all generics when `impl_plugin_trait` is set.
- Deprecated params `impl_generic_auto_plugin_trait`. Remove.
    - `AutoPlugin` is now always implemented when deriving `AutoPlugin`
- Removed `generics` from `auto_init_state` and `auto_state` - There should be no valid use cases for this but if you have one and were using it please open an issue.