Skip to content

Releases: projectharmonia/bevy_replicon

Bevy Replicon 0.12.0

01 Oct 13:20
Compare
Choose a tag to compare

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

25 Sep 07:24
Compare
Choose a tag to compare

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 from ReplicationRules from public API.
  • Rename ReplicationRules::replication_id into ReplicationRules::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 type NetworkTick that increments on server update, so it can be used to provide information about time. AckedTick was replaced with ServerTicks that also contains mappings from NetworkTick to Bevy's Tick and current NetworkTick.
  • Functions in AppReplicationExt::replicate_with now accept bytes cursor for memory reuse and return serialization errors.
  • Rename ReplicationCore into RepliconCore with its module for clarity.
  • Store changes in WorldDiff in Vec instead of HashMap to increase performance.
  • MapNetworkEntities now accepts generic Mapper and doesn't have error handling and deserialiation functions now accept NetworkEntityMap. This allowed us to lazily map entities on client without extra allocation.
  • Make LastTick public.

Bevy Replicon 0.10.0

12 Sep 22:43
Compare
Choose a tag to compare

Changed

  • MapEventEntities was renamed into MapNetworkEntities and now used for both components and events. Built-in MapEntities trait from Bevy is not suited for network case for now.
  • AppReplicationExt::not_replicate_with was replaced with component marker Ignored<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 and Copy for Replication.
  • Make ServerPlugin fields private and add ServerPlugin::new.
  • Make AckedTicks public.
  • Make NetworkEntityMap public.

Bevy Replicon 0.9.1

05 Aug 09:53
Compare
Choose a tag to compare

Changed

  • Fix event cleanup.

Bevy Replicon 0.9.0

01 Aug 18:13
Compare
Choose a tag to compare

Added

  • ClientSet now available from prelude.

Changed

  • Move has_authority() to server module.

Bevy Replicon 0.8.0

28 Jul 17:48
Compare
Choose a tag to compare

Changed

  • Put systems in PreUpdate and PostUpdate to avoid one frame delay.
  • Reorganize ServerSet and move client-related systems to ClientSet.

Bevy Replicon 0.7.1

20 Jul 18:14
Compare
Choose a tag to compare

Changed

  • Re-export transport module from bevy_renet.

Bevy Replicon 0.7.0

20 Jul 18:13
Compare
Choose a tag to compare

Changed

  • Update to bevy 0.11.
  • Mappable network events now need to implement MapEventEntities instead of MapEntities.

Removed

  • ClientState and ServerState, use conditions from bevy_renet and resource_added() / resource_exists() / resource_removed().
  • ServerSet::Authority, use has_authority() instead.

Bevy Replicon 0.6.1

09 Jul 10:50
Compare
Choose a tag to compare

Changed

  • Update ParentSync in CoreSet::PostUpdate to avoid one frame delay.

Bevy Replicon 0.6.0

08 Jul 15:32
Compare
Choose a tag to compare

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.