2023-04-02 08:43:06 -06:00
|
|
|
ENet 1.3.17 (November 15, 2020):
|
|
|
|
|
|
|
|
* fixes for sender getting too far ahead of receiver that can cause instability with reliable packets
|
|
|
|
|
|
|
|
ENet 1.3.16 (September 8, 2020):
|
|
|
|
|
|
|
|
* fix bug in unreliable fragment queuing
|
|
|
|
* use single output queue for reliable and unreliable packets for saner ordering
|
|
|
|
* revert experimental throttle changes that were less stable than prior algorithm
|
|
|
|
|
|
|
|
ENet 1.3.15 (April 20, 2020):
|
|
|
|
|
|
|
|
* quicker RTT initialization
|
|
|
|
* use fractional precision for RTT calculations
|
|
|
|
* fixes for packet throttle with low RTT variance
|
|
|
|
* miscellaneous socket bug fixes
|
|
|
|
|
|
|
|
ENet 1.3.14 (January 27, 2019):
|
|
|
|
|
|
|
|
* bug fix for enet_peer_disconnect_later()
|
2015-06-02 15:25:13 -06:00
|
|
|
* use getaddrinfo and getnameinfo where available
|
2023-04-02 08:43:06 -06:00
|
|
|
* miscellaneous cleanups
|
2015-06-02 15:25:13 -06:00
|
|
|
|
|
|
|
ENet 1.3.13 (April 30, 2015):
|
|
|
|
|
|
|
|
* miscellaneous bug fixes
|
|
|
|
* added premake and cmake support
|
|
|
|
* miscellaneous documentation cleanups
|
|
|
|
|
2015-02-15 05:34:44 -07:00
|
|
|
ENet 1.3.12 (April 24, 2014):
|
|
|
|
|
|
|
|
* added maximumPacketSize and maximumWaitingData fields to ENetHost to limit the amount of
|
|
|
|
data waiting to be delivered on a peer (beware that the default maximumPacketSize is
|
|
|
|
32MB and should be set higher if desired as should maximumWaitingData)
|
|
|
|
|
|
|
|
ENet 1.3.11 (December 26, 2013):
|
|
|
|
|
|
|
|
* allow an ENetHost to connect to itself
|
|
|
|
* fixed possible bug with disconnect notifications during connect attempts
|
|
|
|
* fixed some preprocessor definition bugs
|
|
|
|
|
|
|
|
ENet 1.3.10 (October 23, 2013);
|
|
|
|
|
|
|
|
* doubled maximum reliable window size
|
|
|
|
* fixed RCVTIMEO/SNDTIMEO socket options and also added NODELAY
|
|
|
|
|
|
|
|
ENet 1.3.9 (August 19, 2013):
|
|
|
|
|
|
|
|
* added duplicatePeers option to ENetHost which can limit the number of peers from duplicate IPs
|
|
|
|
* added enet_socket_get_option() and ENET_SOCKOPT_ERROR
|
|
|
|
* added enet_host_random_seed() platform stub
|
|
|
|
|
|
|
|
ENet 1.3.8 (June 2, 2013):
|
|
|
|
|
|
|
|
* added enet_linked_version() for checking the linked version
|
|
|
|
* added enet_socket_get_address() for querying the local address of a socket
|
|
|
|
* silenced some debugging prints unless ENET_DEBUG is defined during compilation
|
|
|
|
* handle EINTR in enet_socket_wait() so that enet_host_service() doesn't propagate errors from signals
|
|
|
|
* optimized enet_host_bandwidth_throttle() to be less expensive for large numbers of peers
|
|
|
|
|
|
|
|
ENet 1.3.7 (March 6, 2013):
|
|
|
|
|
|
|
|
* added ENET_PACKET_FLAG_SENT to indicate that a packet is being freed because it has been sent
|
|
|
|
* added userData field to ENetPacket
|
|
|
|
* changed how random seed is generated on Windows to avoid import warnings
|
|
|
|
* fixed case where disconnects could be generated with no preceding connect event
|
|
|
|
|
|
|
|
ENet 1.3.6 (December 11, 2012):
|
|
|
|
|
|
|
|
* added support for intercept callback in ENetHost that can be used to process raw packets before ENet
|
|
|
|
* added enet_socket_shutdown() for issuing shutdown on a socket
|
|
|
|
* fixed enet_socket_connect() to not error on non-blocking connects
|
|
|
|
* fixed bug in MTU negotiation during connections
|
|
|
|
|
|
|
|
ENet 1.3.5 (July 31, 2012):
|
|
|
|
|
|
|
|
* fixed bug in unreliable packet fragment queuing
|
|
|
|
|
|
|
|
ENet 1.3.4 (May 29, 2012):
|
|
|
|
|
|
|
|
* added enet_peer_ping_interval() for configuring per-peer ping intervals
|
|
|
|
* added enet_peer_timeout() for configuring per-peer timeouts
|
|
|
|
* added protocol packet size limits
|
|
|
|
|
|
|
|
ENet 1.3.3 (June 28, 2011):
|
|
|
|
|
|
|
|
* fixed bug with simultaneous disconnects not dispatching events
|
|
|
|
|
|
|
|
ENet 1.3.2 (May 31, 2011):
|
|
|
|
|
|
|
|
* added support for unreliable packet fragmenting via the packet flag
|
|
|
|
ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT
|
|
|
|
* fixed regression in unreliable packet queuing
|
|
|
|
* added check against received port to limit some forms of IP-spoofing
|
|
|
|
|
|
|
|
ENet 1.3.1 (February 10, 2011):
|
|
|
|
|
|
|
|
* fixed bug in tracking of reliable data in transit
|
|
|
|
* reliable data window size now scales with the throttle
|
|
|
|
* fixed bug in fragment length calculation when checksums are used
|
|
|
|
|
|
|
|
ENet 1.3.0 (June 5, 2010):
|
|
|
|
|
|
|
|
* enet_host_create() now requires the channel limit to be specified as
|
|
|
|
a parameter
|
|
|
|
* enet_host_connect() now accepts a data parameter which is supplied
|
|
|
|
to the receiving receiving host in the event data field for a connect event
|
|
|
|
* added an adaptive order-2 PPM range coder as a built-in compressor option
|
|
|
|
which can be set with enet_host_compress_with_range_coder()
|
|
|
|
* added support for packet compression configurable with a callback
|
|
|
|
* improved session number handling to not rely on the packet checksum
|
|
|
|
field, saving 4 bytes per packet unless the checksum option is used
|
|
|
|
* removed the dependence on the rand callback for session number handling
|
|
|
|
|
|
|
|
Caveats: This version is not protocol compatible with the 1.2 series or
|
|
|
|
earlier. The enet_host_connect and enet_host_create API functions require
|
|
|
|
supplying additional parameters.
|
|
|
|
|
|
|
|
ENet 1.2.5 (June 28, 2011):
|
|
|
|
|
|
|
|
* fixed bug with simultaneous disconnects not dispatching events
|
|
|
|
|
|
|
|
ENet 1.2.4 (May 31, 2011):
|
|
|
|
|
|
|
|
* fixed regression in unreliable packet queuing
|
|
|
|
* added check against received port to limit some forms of IP-spoofing
|
|
|
|
|
|
|
|
ENet 1.2.3 (February 10, 2011):
|
|
|
|
|
|
|
|
* fixed bug in tracking reliable data in transit
|
|
|
|
|
|
|
|
ENet 1.2.2 (June 5, 2010):
|
|
|
|
|
|
|
|
* checksum functionality is now enabled by setting a checksum callback
|
|
|
|
inside ENetHost instead of being a configure script option
|
|
|
|
* added totalSentData, totalSentPackets, totalReceivedData, and
|
|
|
|
totalReceivedPackets counters inside ENetHost for getting usage
|
|
|
|
statistics
|
|
|
|
* added enet_host_channel_limit() for limiting the maximum number of
|
|
|
|
channels allowed by connected peers
|
|
|
|
* now uses dispatch queues for event dispatch rather than potentially
|
|
|
|
unscalable array walking
|
|
|
|
* added no_memory callback that is called when a malloc attempt fails,
|
|
|
|
such that if no_memory returns rather than aborts (the default behavior),
|
|
|
|
then the error is propagated to the return value of the API calls
|
|
|
|
* now uses packed attribute for protocol structures on platforms with
|
|
|
|
strange alignment rules
|
|
|
|
* improved autoconf build system contributed by Nathan Brink allowing
|
|
|
|
for easier building as a shared library
|
|
|
|
|
|
|
|
Caveats: If you were using the compile-time option that enabled checksums,
|
|
|
|
make sure to set the checksum callback inside ENetHost to enet_crc32 to
|
|
|
|
regain the old behavior. The ENetCallbacks structure has added new fields,
|
|
|
|
so make sure to clear the structure to zero before use if
|
|
|
|
using enet_initialize_with_callbacks().
|
|
|
|
|
|
|
|
ENet 1.2.1 (November 12, 2009):
|
|
|
|
|
|
|
|
* fixed bug that could cause disconnect events to be dropped
|
|
|
|
* added thin wrapper around select() for portable usage
|
|
|
|
* added ENET_SOCKOPT_REUSEADDR socket option
|
|
|
|
* factored enet_socket_bind()/enet_socket_listen() out of enet_socket_create()
|
|
|
|
* added contributed Code::Blocks build file
|
|
|
|
|
|
|
|
ENet 1.2 (February 12, 2008):
|
|
|
|
|
|
|
|
* fixed bug in VERIFY_CONNECT acknowledgement that could cause connect
|
|
|
|
attempts to occasionally timeout
|
|
|
|
* fixed acknowledgements to check both the outgoing and sent queues
|
|
|
|
when removing acknowledged packets
|
|
|
|
* fixed accidental bit rot in the MSVC project file
|
|
|
|
* revised sequence number overflow handling to address some possible
|
|
|
|
disconnect bugs
|
|
|
|
* added enet_host_check_events() for getting only local queued events
|
|
|
|
* factored out socket option setting into enet_socket_set_option() so
|
|
|
|
that socket options are now set separately from enet_socket_create()
|
|
|
|
|
|
|
|
Caveats: While this release is superficially protocol compatible with 1.1,
|
|
|
|
differences in the sequence number overflow handling can potentially cause
|
|
|
|
random disconnects.
|
|
|
|
|
|
|
|
ENet 1.1 (June 6, 2007):
|
|
|
|
|
|
|
|
* optional CRC32 just in case someone needs a stronger checksum than UDP
|
|
|
|
provides (--enable-crc32 configure option)
|
|
|
|
* the size of packet headers are half the size they used to be (so less
|
|
|
|
overhead when sending small packets)
|
|
|
|
* enet_peer_disconnect_later() that waits till all queued outgoing
|
|
|
|
packets get sent before issuing an actual disconnect
|
|
|
|
* freeCallback field in individual packets for notification of when a
|
|
|
|
packet is about to be freed
|
|
|
|
* ENET_PACKET_FLAG_NO_ALLOCATE for supplying pre-allocated data to a
|
|
|
|
packet (can be used in concert with freeCallback to support some custom
|
|
|
|
allocation schemes that the normal memory allocation callbacks would
|
|
|
|
normally not allow)
|
|
|
|
* enet_address_get_host_ip() for printing address numbers
|
|
|
|
* promoted the enet_socket_*() functions to be part of the API now
|
|
|
|
* a few stability/crash fixes
|
|
|
|
|
|
|
|
|