Releases: naia-lib/naia
Releases · naia-lib/naia
Release v0.23.0 !
Merge pull request #198 from naia-lib/release/0.23.0 Release/0.23.0
Release 0.22.0 !
v0.22.0 update versions of all crates to 0.22.0
Release v0.21.1 !
Thank you to @anellie for the PR upping naia's bevy dependencies to 0.11 !
Release 0.21.0 !
Refactors related to EntityProperty and Entity Relations:
- Host no longer waits for remote Entities to spawn before sending Message EntityProperties containing a reference to them, they are just sent right away
- Remote will keep Messages & Components buffered separately from the world until their required Entities are spawned
- Addresses #119 ?
Other small changes:
Release v0.20.2 !
- naia_client_socket::PacketSender trait now requires PacketSenderClone, to match naia_server_socket
- naia_client_socket: update
webrtc_unreliable_client
dependency - naia_derive: Message trait derive expanded to handle many other types
Release 0.20.1 !
- Macroquad and Bevy demos show a sample implementation of interpolation
- Fixed some timing edge cases related to interpolation
Release 0.20.0 !
- naia and it's adapter crates are now transport-layer-agnostic!
- includes feature-gated transport implementations for WebRTC (via naia-socket) and UDP
- 3rd parties can implement their own transport mechanism be implementing a Socket trait
- hecs upgraded to 0.10
Release 0.19.0 !
Changelist:
- Upgrade to Bevy 0.10 for related adapter crates
- Implemented Client-authoritative Entities
- Improved Bevy adapter API
Release 0.18.0 !
This release implements Message Fragmentation over Reliable Message Channels. The maximum Message size is now ~500 MB.
Release 0.17.0 !
- This release is mostly an internal refactor although some APIs have changed.
- Tick/Time synchronization has been completely re-written, and now the Server & Client clocks should be within 1 milliseconds of eachother.
- Another major change is that the synchronization will be resilient to the Server app is running slower than intended. Client time should slow down and speed up seamlessly with the Server.
- Now the Client/Server has a new step in the handshake process which allows them to collect network stats and get in sync before returning a Connect Event and giving control to your app.
-Sending and receiving messages on a TickBufferedChannel now requires a new API so that the app can specify with which Tick the message should be associated. Now useClient.send_tick_buffered_message(tick, message)
andServer.receive_tick_buffered_messages(tick)
for TickBuffered channels. - The API now recognizes that there are two moments in time the Client must be aware of: the authoritative time of the Server, and the time of the Client which is predicted forward into the future. Therefore now there are
Client.client_tick()
,Client.client_interpolation()
,Client.server_tick()
, andClient.server_interpolation()
methods for use. - In the Bevy adapter crates now, instead of the strange conditional
Tick
stage, there is a Tick event which is triggered from an EventReader like the other Bevy events.