ByteNet uses semantic versioning.
- Uses a growth factor of 2 over
math.round(1.5)
due to performance
- Fixed
sendToAllExcept
type
- Fixed
i16
allocating 8 bytes instead of 2.
- Significant optimization to optional types
- Array serialization is roughly ~2x as efficient
- All data type write functions now directly reference the buffer writer. This means all allocation calls are inlined, and there are roughly ~3x less function calls.
- Fixed sending unreliable events from client -> server
- ByteNet now loops through existing players incase the package was initialized late
- Fixed the float64 data type
- Arrays are now forced to have number indexes
- Added all of the new data types to the ByteNet type.
- Fixed the client not clearing instance references
- Fixed the client sending a buffer every frame
- Fixed instances/unknowns not being sendable in any special type
- Namespaces have been added.
- Structs have been added.
- Three new data types: Instance, unknown, and nothing. The "nothing" type is to allow for packets without any contents.
- Added
:wait()
to packets.
- Packets are now based off closures, instead of metatables. This means you now have to use
.
indexxing instead of:
to call methods. - You can now have duplicate packet contents
- Packets now take a single value (Which can be a struct) instead of being "special".
- Significant optimization: Packets are now singular values that can be structs, which reduces complexity, thus increasing performance.
- Added
:sendTo()
to thePacket
type. This fixes autocomplete.
- Rewrote serialization to use an allocator w/ resizing instead of using "deferred write" functions. Should be an incredibly large performance boost.
- Types: Vector2, CFrame, Array, Optional, Map
- Rewrote client/server processing. Should drastically improve stability and performance.
- Completely re-did how serialization happens to be a lot more stable, and to allow a lot of room for improvement.
- Many type improvements
- Removed only dependency
- Fixed absolute reference that broke the package. oops.
- Added buffer support
- Fixed global queue
- Swapped ordering of packet structure and reliability type
- Reliability type now is an optional argument that defaults to reliable
- Optimization hot path for small amounts of buffers in queue
- Small optimizations
- Fixed not all data types having types
- Fixed not all data types being accessible
- Fixed absolute references being used instead of relative references, thanks auto-import..
- General code improvements/optimizations across the board. Will get more specific as time goes on
- Added roblox-ts support (have not published to npm yet)
- Fixed a basic spamming vulnerability