Skip to content

Releases: projectharmonia/bevy_replicon

Bevy Replicon 0.29.1

16 Dec 16:36
9826d5d
Compare
Choose a tag to compare

Fixed

  • Report bevy diagnostics correctly as a delta since last measurement collection.

Bevy Replicon 0.29.0

02 Dec 00:44
4db3a33
Compare
Choose a tag to compare

Added

  • RTT, bytes per second and packet loss information for RepliconClient and ConnectedClients.
  • ClientSet::Diagnostics for systems that collect client diagnostics.

Fixed

  • Sending removals and despawns for hidden entities.

Changed

  • Update to Bevy 0.15.
  • Make core::replication::replication_rules::ReplicationRules public.
  • Various optimizations for replication messages to use fewer bytes.
  • Accept Vec<u8> instead of Cursor<Vec<u8>> for serialization.
  • ConnectedClients now store ConnectedClient instead of ClientId with more information about the client.
  • All TestFnsEntityExt now accept FnsId.
  • Move replication-related modules from core module under core::replication.
  • Move Replicated to the replication module.
  • Split the ctx module and move event-related contexts under core::events_registry::ctx and replication-related contexts under core::replication_registry::ctx.
  • Separate paths from diagnostics module by / and their parent path now client/replication instead of replication/client.
  • Provide replication statistics by sum instead of per second and use usize for it.
  • Use fixed integer encoding for ticks for server events.
  • Rename ServerPlugin::change_timeout into ServerPlugin::mutations_timeout.
  • Rename ServerInitTick into ServerUpdateTick.
  • Rename ReplicatedClient::init_tick into ReplicatedClient::change_tick.
  • Rename ReplicatedClient::get_change_tick into ReplicatedClient::mutation_tick.
  • Rename ReplicationChannel::Init into ReplicationChannel::Updates.
  • Rename ReplicationChannel::Update into ReplicationChannel::Mutations.
  • Rename ClientStats into ClientReplicationStats.
  • Rename ClientDiagnosticsPlugin::MESSAGES into ClientDiagnosticsPlugin::REPLICATION_MESSAGES.
  • Rename ClientDiagnosticsPlugin::BYTES into ClientDiagnosticsPlugin::REPLICATION_BYTES.
  • Rename ClientDiagnosticsPlugin::ENTITY_CHANGES into ClientDiagnosticsPlugin::ENTITIES_CHANGED.
  • Rename ClientDiagnosticsPlugin::COMPONENT_CHANGES into ClientDiagnosticsPlugin::COMPONENTS_CHANGED.

Removed

  • FnsInfo, use (ComponentId, FnsId) instead.
  • Deprecated functions and structs from previous releases.

Bevy Replicon 0.28.4

15 Oct 16:12
e27d05c
Compare
Choose a tag to compare

Fixed

  • Synchronize server events with init messages properly when ServerTick is not updated every app tick.

Bevy Replicon 0.28.3

13 Sep 20:55
87cb003
Compare
Choose a tag to compare

Changed

  • Ignore replicated components that don't have type registration or missing #[reflect(Component)] in scene::replicate_into instead of panicking.
  • Rename has_authority condition into server_or_singleplayer. Old name still works, but marked as deprecated.

Bevy Replicon 0.28.2

09 Sep 17:48
c740527
Compare
Choose a tag to compare

Changed

  • Make ReplicatedClients::new public.

Bevy Replicon 0.28.1

03 Sep 23:22
6814f55
Compare
Choose a tag to compare

Fixed

  • Client event buffering.

Bevy Replicon 0.28.0

03 Sep 20:52
fae15a1
Compare
Choose a tag to compare

Added

  • ServerEventAppExt::make_independent to let events be triggered without waiting for replication on the same tick.
  • ConnectedClients (the same name as the old resource that was renamed into ReplicatedClients) with client IDs for all connected clients (but may not be replicated yet).
  • ServerPlugin::replicate_after_connect to enable replication right after connection (enabled by default, same as old behavior).

Changed

  • Rename connected_clients into replicated_clients.
  • Rename ConnectedClients to ReplicatedClients.
  • Rename ConnectedClient to ReplicatedClient.

Fixed

  • Emit an error instead of panic on events deserialization on client.
  • Buffering for events that have mapped entities.

Bevy Replicon 0.27.0

04 Jul 16:38
01ad851
Compare
Choose a tag to compare

Changed

  • Update to Bevy 0.14.0-rc.4.
  • Move bevy_replicon_renet to a dedicated repository.
  • ServerEventsPlugin and ClientEventsPlugin can be disabled on client-only and server-only apps respectively.
  • Put ClientDiagnosticsPlugin under client_diagnostics feature (disabled by default) and make it part of the RepliconPlugins group.
  • Put scene module under scene feature (enabled by default).
  • Put parent_sync module under parent_sync feature (enabled by default).
  • Put client module under client feature (enabled by default).
  • Put server module under server feature (enabled by default).
  • TestFnsEntityExt::serialize now accepts RepliconTick for server tick instead of using ServerTick resource internally.
  • Move replicon_client, server_entity_map, replicon_server, connected_clients under core module. These modules are needed for both client and server.
  • Move VisibilityPolicy to connected_clients module.
  • Move server::events::event_data module to core::event_registry::server_event.
  • Move client::events::event_data module to core::event_registry::client_event.
  • Move ClientEventAppExt, client::events::SerializeFn, client::events::DeserializeFn, default_serialize, default_serialize_mapped, default_deserialize and FromClient to core::event_registry::client_event.
  • Move ServerEventAppExt, server::events::SerializeFn, server::events::DeserializeFn, default_serialize, default_serialize_mapped, default_deserialize, ToClients and SendMode to core::event_registry::server_event.
  • Speedup removals caching.

Fixed

  • Do not divide values per seconds by the number of messages for ClientDiagnosticsPlugin.

Bevy Replicon 0.27.0-rc.3

29 Jun 20:59
aefac55
Compare
Choose a tag to compare
Pre-release

Changed

  • Update to Bevy 0.14.0-rc.4.
  • Move bevy_replicon_renet to a dedicated repository.
  • ServerEventsPlugin and ClientEventsPlugin can be disabled on client-only and server-only apps respectively.
  • Put ClientDiagnosticsPlugin under client_diagnostics feature (disabled by default) and make it part of the RepliconPlugins group.
  • Put scene module under scene feature (enabled by default).
  • Put parent_sync module under parent_sync feature (enabled by default).
  • Put client module under client feature (enabled by default).
  • Put server module under server feature (enabled by default).
  • TestFnsEntityExt::serialize now accepts RepliconTick for server tick instead of using ServerTick resource internally.
  • Move replicon_client, server_entity_map, replicon_server, connected_clients under core module. These modules are needed for both client and server.
  • Move VisibilityPolicy to connected_clients module.
  • Move server::events::event_data module to core::event_registry::server_event.
  • Move client::events::event_data module to core::event_registry::client_event.
  • Move ClientEventAppExt, client::events::SerializeFn, client::events::DeserializeFn, default_serialize, default_serialize_mapped, default_deserialize and FromClient to core::event_registry::client_event.
  • Move ServerEventAppExt, server::events::SerializeFn, server::events::DeserializeFn, default_serialize, default_serialize_mapped, default_deserialize, ToClients and SendMode to core::event_registry::server_event.

Fixed

  • Do not divide values per seconds by the number of messages for ClientDiagnosticsPlugin.

Bevy Replicon 0.27.0-rc.2

16 Jun 16:42
42a632c
Compare
Choose a tag to compare
Pre-release

Changed

  • Update to Bevy 0.14.0-rc.3.