Releases: rj00a/evenio
Releases · rj00a/evenio
v0.6.0
- Removed
Send + Sync
requirements from all data in theWorld
, including components, handlers, and events.World
is now!Send + !Sync
. - Added
Deref
andDerefMut
impls forSingle
,TrySingle
,Has<Q>
. - Allow sending events with borrowed data in
World::send
. - Removed
'static
bound fromEvent
. Event
is now split into separateGlobalEvent
andTargetedEvent
traits (which inherit from the baseEvent
trait). Use the derive macros to safely implement them.- Redesigned how targeted events are represented and sent. Use
World::send_to
andSender::send_to
. Event::IS_IMMUTABLE
andComponent::IS_IMMUTABLE
have been replaced with marker types for use inwhere
clauses. Seeevenio::mutability
.- Removed
World::send_many
. - Fixed bug where entities could spawn with identical entity IDs.
- Set MSRV to 1.78.0
- Improved diagnostics for
add_handler
compiler errors. - Added
Fetcher::get_unchecked
. - Changed some unit structs into uninhabited enums.
v0.5.0
- Redesign component access checking. Complex queries will now pass the component access checker in more cases.
- Improve diagnostics for component access errors.
- Redesign
Config
interface to hide implementation details. (Now namedHandlerConfig
). - Removed
bit_set
andsparse
modules from public API. - Added
Fetcher::get_many_mut
. - Removed
AliasedMutability
variant fromGetError
and addedGetManyMutError
.
v0.4.2
v0.4.1
v0.4.0
- Renamed "system" to "handler" to avoid confusion with other ECS libraries.
- Removed
Column::component_index
. To obtain the component index of a column, useArchetype::component_indices
. - Fixed bug related to handler ordering. Handlers with the same priority always run in the order they were added to the world.
- Changed alignment of identifier types to match
u64
. - Renamed
Priority::{Before, Normal, After}
toPriority::{High, Medium, Low}
. - Renamed
World::{get_component, get_component_mut}
toWorld::{get, get_mut}
. - Fixed empty fetcher iteration bug.
v0.3.0
- Fixed bug that occurs when changing event target archetype while broadcasting.
- Changed behavior of event queue. The next event in the queue is handled only once the current event has finished broadcasting.
- Changed
EventPtr
interface and relaxedSend
andSync
bounds forEventMut
. - Fixed buggy behavior when mutating the target of a broadcasting event.
v0.2.2
v0.2.1
- Added Rayon parallel iterator for
Fetcher
, available behind therayon
feature flag. - Fixed archetype refresh bugs and changed semantics of
refresh_archetype
. - Fixed potential "cannot shadow tuple struct with let binding" errors in derived
Query
andSystemParam
impls. - Added
#[must_use]
attribute to iterators. - Relaxed auto trait impls for various types.
- Minor performance improvements.