Skip to content

Releases: projectharmonia/bevy_replicon

Bevy Replicon 0.30.1

07 Feb 00:55
af91293
Compare
Choose a tag to compare

Fixed

  • Update ReplicatedClients immediately to let users set visibility on ClientConnected trigger.

Bevy Replicon 0.30.0

03 Feb 23:33
927a8bf
Compare
Choose a tag to compare

Added

  • Export core::entity_serde with custom serde functions for entity.

Changed

  • StartReplication is now a trigger-event.
  • ServerEvent now split into ClientConnected and ClientDisconnected that are trigger-events.
  • reason field in ClientDisconnected now stores DisconnectReason enum.
  • Event serialization functions now accept &mut Vec<u8> instead of &mut Cursor<Vec<u8>>.
  • RepliconChannels::create_server_channel and RepliconChannels::create_client_channel now accept impl Into<RepliconChannel> instead of just RepliconChannel.
  • Event reading and writing systems are no longer exclusive, thanks to system builders! However, to achieve this, we now set them up in Plugin::finish. So if you have tests for events, don't forget to call App::finish to configure the plugins properly.
  • Use debug! instead of trace! for events. They are not very verbose.
  • Rename ServerSet::SendEvents into ServerSet::TriggerConnectionEvents.
  • Rename core::event_registry into core::event.
  • Rename ClientEventsPlugin into ClientEventPlugin (singular).
  • Rename ServerEventsPlugin into ServerEventPlugin (singular).
  • Rename client::events into client::event (singular).
  • Rename server::events into server::event (singular).

Fixed

ParentSync now correctly syncs the hierarchy if spawned before ClientSet::SyncHierarchy.

Bevy Replicon 0.29.2

06 Jan 00:48
f1eee4f
Compare
Choose a tag to compare

Fixed

  • Use FromReflect when replicating components into dynamic scenes.

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.