123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- ENet 2.0.0 (April 22, 2018):
- * changed library format to single header
- * applied project-wide code style change
- * integrated ipv6 changes from @proller
- * changed packet creation to have one less malloc and free per packet. @boardwalk
- * removed enet_packet_resize
- * added timeout disconnect notification event @airtame
- * added total packets sent and lost to enet_peer @airtame
- * force a connect packet not to have extra bytes @pisto
- * enforce mtu while receiving packets, and don't give up receiving if one too big comes through @pisto
- * add metrics for total data send and received @airtame
- * replaced exp backoff time for rel packet timeout with linear @airtame
- * added monotonic time @airtame
- * removed enet_time_set
- * removed a lot of wide platform support code, might bring a lot of issues on older/non-standart platforms
- * removed range coder compression code
- ENet 1.3.13 (April 30, 2015):
- * miscellaneous bug fixes
- * added premake and cmake support
- * miscellaneous documentation cleanups
- 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
|