| 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 |
| |
| |