Releases: simgine/bevy_replicon
Releases · simgine/bevy_replicon
Bevy Replicon 0.40.2
Bevy Replicon 0.41.0-rc.1
Changed
- Update to Bevy 0.19.0-rc.1.
DeferredEntity::flushnow consumes the entity.- Rename
scenemodule and feature intoworld_serialization. - Rename
DeferredChangesintoEntityScratch.
Bevy Replicon 0.40.1
Changed
SendModenow available frompreludeto simplify the migration.
Bevy Replicon 0.40.0
Added
- Shared messages and events via
SharedMessageAppExtandSharedEventAppExt. Emitted asLocalOrRemote<M>on both the sender and the receiver to allow shared logic for client-side prediction. iter_receivedanditer_sentmethods onClientMessagesandServerMessagesto inspect inbound and outbound messages on a channel without consuming them.
Changed
ServerMessages::retain_sentis now public, allowing users to filter outbound messages before the backend drains them.VisibilityFiltertrait and related types moved to theshared::replication::visibilitymodule and no longer feature gated by theserverfeature.Replicatedis no longer automatically inserted on clients, onlyRemote.scene::replicate_intowill serialize all entities that have eitherRemoteorReplicated.- Rename
SendMode::BroadcastintoSendTargets::All - Rename
SendMode::BroadcastExceptintoSendTargets::AllExcept - Rename
SendMode::DirectintoSendTargets::Single - Rename
ToClients::modeintoToClients::targets
Bevy Replicon 0.39.5
Fixed
- Don't panic when receiving acks from disconnected clients (backends might not discard messages immediately, allowing to react to them).
Bevy Replicon 0.39.4
Fixed
- Deferred component insertions no longer cause undefined behavior.
Bevy Replicon 0.39.3
Fixed
- Visibility is now properly updated when
VisibilityFilterandVisibilityFilter::ClientComponentare not the same type.
Bevy Replicon 0.39.2
Fixed
- Entities spawned during component deserialization now also get the
Remotemarker.
Bevy Replicon 0.39.1
Fixed
- Don't panic when despawning hierarchy with signatures.
Bevy Replicon 0.39.0
Added
Remotecomponent that automatically inserted on entities spawned by replication.SendMode::SERVER_ONLYandSendMode::CLIENTS_ONLYconstants for convenience.command_fns::write_if_neqbuilt-in to avoid writing component if the value didn't change.DeferredEntity::world_mutto access world mutable during replication.
Changed
VisibilityFilternow allows expressing more complex rules:- A new
ClientComponentassociated type allows specifying a different component for client entities. UseSelfto preserve the previous behavior. - In
is_visible,selfnow refers to the entity component, and the client component is passed into the function. - The passed component is now wrapped in an
Optionto allow customizing behavior when the component on the client is missing. is_visiblenow accepts the client entity.
- A new
AuthorizedClientandConnectedClientnow immutable.ClientStatsnow represents only current client statistics. Use theConnectedClientStatscomponent for connected client statistics on the server.ConditionerConfignow represents configuration only for a connected client on the server. Use theGlobalConditionerConfigresource for global server or client configuration.ServerPlugin::tick_schedulenow wrapped in anOption. You can set it toNoneto trigger replication by manually incrementingServerTick.- Make
ClientMessages::received_countpublic. - Make
increment_tickpublic. - Rename
ComponentScopeintoSingleComponent. - Rename
command_markersmodule intoreceive_markers. - Rename
command_fnsmodule intoreceive_fns. - Rename
AppMarkerExt::set_command_fnsintoAppMarkerExt::set_receive_fns.