Skip to content

Latest commit

 

History

History
204 lines (129 loc) · 12.9 KB

CHANGELOG.md

File metadata and controls

204 lines (129 loc) · 12.9 KB

CHANGELOGS

0.0.16 - 20-07-2014

BevyRenet

Renetcode

  • Implement Error for DisconnectReason. (PR) by Shatur

RenetVisualizer

0.0.15 - 21-02-2014

RenetSteam

  • Released version 0.0.1. Checkout the README or the Bevy Demo to see how to use it.

Renetcode

  • Use timeout given from ConnectToken instead of fixed 15 secs. (commit)

BevyRenet

  • Implement Component for ClientId. (PR) by SylvKT
  • Add emit_server_events_system, now, transports can update and disconnect clients before events are emitted. (commit)
  • Removed steam feature, now to use steam, you add renet_steam with the bevy feature. (commit)
  • Update to bevy 0.13. (PR) by dgsantana
  • Make all systems public, this makes possible to manually add the systems and use them for ordering. (commit)

RenetVisualizer

  • Update egui to 0.26

0.0.14 - 12-11-2023

Renet

Added ⭐

  • Added is_connecting, is_connected to RenetClient, this should make it easier to write code more transport agnostic. Also added set_connected, set_connecting so the transport layer can keep the connection status updated for the RenetClient (if you are using the default transport layer you will not need call it, but if you have a custom transport layer you will need to call them). (PR) by OleStrohm
  • Added methods can_send_message and channel_available_memory for RenetClient and RenetServer. (commit)
  • Renetcode: make fields for ConnectToken public. (PR) by UkoeHB

Fixed 🐛

  • Fixed RenetServer.connected_clients not returning the correct numbers of connected clients. (commit)

Changed 🛠️

  • Use ClientId struct instead of u64 for clients ids, better type safety for users. (PR) by roboteng
  • NetcodeServer: now accepts multiple server addresses when being created. (PR)
  • NetcodeServer: change arguments when creating it, now accepts only a configuration struct ServerConfig, that has all previous arguments. (PR)
  • RenetVisualizer: updated to egui 0.23. (PR) by Zajozor
  • BevyRenet: updated to bevy 0.12 (commit)
  • BevyRenet: client_disconnected, client_connecting, client_just_connected, client_just_disconnected has been moved out of the transport module. Now they use the methods from RenetClient instead of the transport layer. (PR) by OleStrohm

Removed 🔥

  • Removed is_connecting, is_connected, is_disconnected from NetcodeClientTransport, use the methods from RenetClient instead. (PR) by OleStrohm

0.0.13 - 19-07-2023

Renet

Added ⭐

  • Added missing method for retriving clients SocketAddr for connected clients in the default server transport: client_addr. Also added method to retrieve client SocketAddr from default client transport: addr. (commit)
  • Add iterator access to client ids in the server: clients_id_iter, disconnections_id_iter. (PR) by UkoeHB

Fixed 🐛

  • Fix not removing items when receiving message out of order. (commit)
  • Correctly calculate small packet size for unreliable channels. (commit)

Bevy Renet

Added ⭐

  • Added new runs coditions: client_just_connected and client_just_diconnected. (PR) by Shatur

Changed 🛠️

  • Updated to bevy 0.11. (PR) by Olle-Lukowski
  • Run conditions now returns closures, similar to how bevy run conditions do. (PR) by Shatur

Removed 🔥

  • Removed RenetSet and TransportSet. Use resource_exists::<RenetClient>() and resource_exists::<RenetServer>() instead. (commit)

0.0.12 - 19-05-2023

This release comes with 3 major changes:

  • Rewrite of the reliability/fragmentation protocol, it should handle any bandwidth.
  • Split of renet and the transport layer. Now its possible to use others transport protocols.
  • Configuration simplification

Renet

Added ⭐

  • Added NetcodeServer and NetcodeClient all the network transport logic has been moved to these structs.
    • You can check the documentation, examples, or demos to see how these new structs are used.

Changed 🛠️

  • Replaced RenetConnectionConfig with ConnectionConfig, this new configuration has been greatly simplified. You only need to specify how many bytes you can use per update tick and the channels configuration (ChannelConfiguration).
  • Rework of ChannelConfiguration, only 3 fields now: channel_id, max_memory_usage_bytes, and send_type.
  • RenetServer::newand RenetClient::new now only has ConnectionConfig as argument.
  • Renamed RenetServer::is_client_connected to is_connected.
  • NetworkInfo has bytes_sent_per_second and bytes_received_per_second instead of sent_kbps and received_kbps.

Removed 🔥

  • Removed send_packets from RenetServer and RenetClient, this is now done by the transport layer.
  • Removed can_send_message, this could cause some bad practices of checking before sending messages. If you cannot send a message you should change the channels configurations.

Rechannel

Rechannel has been deprecrated, all its logic has been moved inside renet.

Bevy Renet

Added ⭐

  • Added new Plugins for the transport layer: NetcodeServerPlugin and NetcodeClientPlugin.
  • Client disconnects when the app closes.
  • Server disconnects all clients when the app closes.

Changed 🛠️

  • Removed the clear_events options, you can achieve the same functionality by adding the Events yourself before the Plugin.

0.0.11 - 12-03-2023

Added ⭐

  • BevyRenet: updated bevy to version 0.10. (PR) by Shatur
  • RenetVisualizer: updated to egui 0.21.
  • Renet, Renetcode, BevyRenet: add client.is_connecting(). (commit)
  • Renet: allow to send empty messages again, this was a bad change since some serialization methods can serialize to empty messages. (commit)

Changed 🛠️

  • Renetcode: rename client.connected() with client.is_connected() for consistency. (commit)

Contributors 🙏

0.0.10 - 18-11-2022

Added ⭐

  • Added function client_addr, user_data, is_client_connected, max_clients, connected_clients for RenetServer, some utilities from NetcodeServer. (commit) (commit)
  • Renetcode/Renet: make generate_random_bytes public, this can be used to generate a random private key. (commit)
  • Rechannel: add DefaultChannel enum, usefull when using the default channel configuration. (commit)
  • BevyRenet: add configurable event clearing. (PR)
  • Rechannel: add configuration for unordered reliable channel. (commit)
  • Rechannel: add configuration for sequenced unreliable channel. (commit)
  • Renetcode: added logging. (commit) (commit)
  • BevyRenet: updated bevy to version 0.9; (PR)

Changed 🛠️

  • Renetcode: remove client_id argument when creating an RenetClient. (commit)
  • Rechannel: rename block channel to chunk channel, this makes clear what the channel does: the message is sliced in multiple chunks so it can be sent in multiple frames. Also, it is not confused with "blocking" thread/logic.

Fixed 🐛

  • Rechannel: when sending an empty message, this now gives an error. (commit)
  • Rechannel: ignore already received block messages. (commit)

Contributors 🙏

0.0.9 - 25-07-2022

Added ⭐

  • Rechannel: added max_message_size configuration for channels. This also fixes an exploit over the block channel, it was possible to send a SliceMessage with a high value of number of slices, this would cause the channel to allocate a lot of memory causing out of memories errors. (commit)
  • Rechannel: add fuzzing testing for processing packets (commit)
  • Add Secure/Unsecure option when creating the server/client, easier for testing or prototyping. (commit)

Changed 🛠️

  • Genericify send/recv methods, use Into<u8> for channel id and Into<Bytes> for messages (#28)
  • Rechannel: split channels into Sender Channels and Receiver Channels. Now server and clients can have different channels (commit)

Fixed 🐛

  • Rechannel: fix block messages not correctly getting acked (commit)
  • Rechannel: check chunk id when receiving block messages (commit)
  • Rechannel: don't initialize block messages with 0 slices. Malformed packets could crash the server/client with out of bounds accesses (commit)
  • Rechannel: don't ack fragment packet on the first received fragment, only when all fragments are received (commit)

Removed 🔥

  • Removed renet::ChannelNetworkInfo (commit)

Contributors 🙏