Releases: projectharmonia/bevy_replicon
Releases · projectharmonia/bevy_replicon
Bevy Replicon 0.12.0
Added
- High-level API to extract replicated entities into
DynamicScene
.
Changed
- Hide
ReplicationRules
from public API. - Move logic related to replication rules to
replicon_core::replication_rules
module.
Bevy Replicon 0.11.0
Changed
- Serialize all components by default using varint and provide functions to use fixint encoding.
- Serialize entities in optimal way by writing its index and generation as separate varints.
- Hide
ReplicationId
,ReplicationInfo
and related methods fromReplicationRules
from public API. - Rename
ReplicationRules::replication_id
intoReplicationRules::replication_marker_id
. - Use serialization buffer cache per client for replication.
- Correctly handle old values on packet reordering.
- Bevy's
Tick
was replaced with dedicated typeNetworkTick
that increments on server update, so it can be used to provide information about time.AckedTick
was replaced withServerTicks
that also contains mappings fromNetworkTick
to Bevy'sTick
and currentNetworkTick
. - Functions in
AppReplicationExt::replicate_with
now accept bytes cursor for memory reuse and return serialization errors. - Rename
ReplicationCore
intoRepliconCore
with its module for clarity. - Store changes in
WorldDiff
inVec
instead ofHashMap
to increase performance. MapNetworkEntities
now accepts genericMapper
and doesn't have error handling and deserialiation functions now acceptNetworkEntityMap
. This allowed us to lazily map entities on client without extra allocation.- Make
LastTick
public.
Bevy Replicon 0.10.0
Changed
MapEventEntities
was renamed intoMapNetworkEntities
and now used for both components and events. Built-inMapEntities
trait from Bevy is not suited for network case for now.AppReplicationExt::not_replicate_with
was replaced with component markerIgnored<T>
.- Reflection was replaced with plain serialization. Now components need implement serde traits and no longer need any reflection. This reduced reduced message sizes a lot. Because of this mapped components now need to be registered with
AppReplicationExt::replicate_mapped
. - Derive
Clone
andCopy
forReplication
. - Make
ServerPlugin
fields private and addServerPlugin::new
. - Make
AckedTicks
public. - Make
NetworkEntityMap
public.
Bevy Replicon 0.9.1
Changed
- Fix event cleanup.
Bevy Replicon 0.9.0
Added
ClientSet
now available fromprelude
.
Changed
- Move
has_authority()
toserver
module.
Bevy Replicon 0.8.0
Changed
- Put systems in
PreUpdate
andPostUpdate
to avoid one frame delay. - Reorganize
ServerSet
and move client-related systems toClientSet
.
Bevy Replicon 0.7.1
Changed
- Re-export
transport
module frombevy_renet
.
Bevy Replicon 0.7.0
Changed
- Update to
bevy
0.11. - Mappable network events now need to implement
MapEventEntities
instead ofMapEntities
.
Removed
ClientState
andServerState
, use conditions frombevy_renet
andresource_added()
/resource_exists()
/resource_removed()
.ServerSet::Authority
, usehas_authority()
instead.
Bevy Replicon 0.6.1
Changed
- Update
ParentSync
inCoreSet::PostUpdate
to avoid one frame delay.
Bevy Replicon 0.6.0
Added
SendPolicy
added to API of event-creation for user control of delivery guarantee (reliability and ordering).
Changed
ParentSync
no longer accepts parent entity and just synchronizes hierarchy automatically if present.