Releases: projectharmonia/bevy_replicon
Releases · projectharmonia/bevy_replicon
Bevy Replicon 0.30.1
Bevy Replicon 0.30.0
Added
- Export
core::entity_serde
with custom serde functions for entity.
Changed
StartReplication
is now a trigger-event.ServerEvent
now split intoClientConnected
andClientDisconnected
that are trigger-events.reason
field inClientDisconnected
now storesDisconnectReason
enum.- Event serialization functions now accept
&mut Vec<u8>
instead of&mut Cursor<Vec<u8>>
. RepliconChannels::create_server_channel
andRepliconChannels::create_client_channel
now acceptimpl Into<RepliconChannel>
instead of justRepliconChannel
.- 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 callApp::finish
to configure the plugins properly. - Use
debug!
instead oftrace!
for events. They are not very verbose. - Rename
ServerSet::SendEvents
intoServerSet::TriggerConnectionEvents
. - Rename
core::event_registry
intocore::event
. - Rename
ClientEventsPlugin
intoClientEventPlugin
(singular). - Rename
ServerEventsPlugin
intoServerEventPlugin
(singular). - Rename
client::events
intoclient::event
(singular). - Rename
server::events
intoserver::event
(singular).
Fixed
ParentSync
now correctly syncs the hierarchy if spawned before ClientSet::SyncHierarchy
.
Bevy Replicon 0.29.2
Fixed
- Use
FromReflect
when replicating components into dynamic scenes.
Bevy Replicon 0.29.1
Fixed
- Report bevy diagnostics correctly as a delta since last measurement collection.
Bevy Replicon 0.29.0
Added
- RTT, bytes per second and packet loss information for
RepliconClient
andConnectedClients
. 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 ofCursor<Vec<u8>>
for serialization. ConnectedClients
now storeConnectedClient
instead ofClientId
with more information about the client.- All
TestFnsEntityExt
now acceptFnsId
. - Move replication-related modules from
core
module undercore::replication
. - Move
Replicated
to thereplication
module. - Split the
ctx
module and move event-related contexts undercore::events_registry::ctx
and replication-related contexts undercore::replication_registry::ctx
. - Separate paths from
diagnostics
module by/
and their parent path nowclient/replication
instead ofreplication/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
intoServerPlugin::mutations_timeout
. - Rename
ServerInitTick
intoServerUpdateTick
. - Rename
ReplicatedClient::init_tick
intoReplicatedClient::change_tick
. - Rename
ReplicatedClient::get_change_tick
intoReplicatedClient::mutation_tick
. - Rename
ReplicationChannel::Init
intoReplicationChannel::Updates
. - Rename
ReplicationChannel::Update
intoReplicationChannel::Mutations
. - Rename
ClientStats
intoClientReplicationStats
. - Rename
ClientDiagnosticsPlugin::MESSAGES
intoClientDiagnosticsPlugin::REPLICATION_MESSAGES
. - Rename
ClientDiagnosticsPlugin::BYTES
intoClientDiagnosticsPlugin::REPLICATION_BYTES
. - Rename
ClientDiagnosticsPlugin::ENTITY_CHANGES
intoClientDiagnosticsPlugin::ENTITIES_CHANGED
. - Rename
ClientDiagnosticsPlugin::COMPONENT_CHANGES
intoClientDiagnosticsPlugin::COMPONENTS_CHANGED
.
Removed
FnsInfo
, use(ComponentId, FnsId)
instead.- Deprecated functions and structs from previous releases.
Bevy Replicon 0.28.4
Fixed
- Synchronize server events with init messages properly when
ServerTick
is not updated every app tick.
Bevy Replicon 0.28.3
Changed
- Ignore replicated components that don't have type registration or missing
#[reflect(Component)]
inscene::replicate_into
instead of panicking. - Rename
has_authority
condition intoserver_or_singleplayer
. Old name still works, but marked as deprecated.
Bevy Replicon 0.28.2
Changed
- Make
ReplicatedClients::new
public.
Bevy Replicon 0.28.1
Fixed
- Client event buffering.
Bevy Replicon 0.28.0
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 intoReplicatedClients
) 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
intoreplicated_clients
. - Rename
ConnectedClients
toReplicatedClients
. - Rename
ConnectedClient
toReplicatedClient
.
Fixed
- Emit an error instead of panic on events deserialization on client.
- Buffering for events that have mapped entities.