1ENet 1.3.6 (December 11, 2012): 2 3* added support for intercept callback in ENetHost that can be used to process raw packets before ENet 4* added enet_socket_shutdown() for issuing shutdown on a socket 5* fixed enet_socket_connect() to not error on non-blocking connects 6* fixed bug in MTU negotiation during connections 7 8ENet 1.3.5 (July 31, 2012): 9 10* fixed bug in unreliable packet fragment queuing 11 12ENet 1.3.4 (May 29, 2012): 13 14* added enet_peer_ping_interval() for configuring per-peer ping intervals 15* added enet_peer_timeout() for configuring per-peer timeouts 16* added protocol packet size limits 17 18ENet 1.3.3 (June 28, 2011): 19 20* fixed bug with simultaneous disconnects not dispatching events 21 22ENet 1.3.2 (May 31, 2011): 23 24* added support for unreliable packet fragmenting via the packet flag 25ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT 26* fixed regression in unreliable packet queuing 27* added check against received port to limit some forms of IP-spoofing 28 29ENet 1.3.1 (February 10, 2011): 30 31* fixed bug in tracking of reliable data in transit 32* reliable data window size now scales with the throttle 33* fixed bug in fragment length calculation when checksums are used 34 35ENet 1.3.0 (June 5, 2010): 36 37* enet_host_create() now requires the channel limit to be specified as 38a parameter 39* enet_host_connect() now accepts a data parameter which is supplied 40to the receiving receiving host in the event data field for a connect event 41* added an adaptive order-2 PPM range coder as a built-in compressor option 42which can be set with enet_host_compress_with_range_coder() 43* added support for packet compression configurable with a callback 44* improved session number handling to not rely on the packet checksum 45field, saving 4 bytes per packet unless the checksum option is used 46* removed the dependence on the rand callback for session number handling 47 48Caveats: This version is not protocol compatible with the 1.2 series or 49earlier. The enet_host_connect and enet_host_create API functions require 50supplying additional parameters. 51 52ENet 1.2.5 (June 28, 2011): 53 54* fixed bug with simultaneous disconnects not dispatching events 55 56ENet 1.2.4 (May 31, 2011): 57 58* fixed regression in unreliable packet queuing 59* added check against received port to limit some forms of IP-spoofing 60 61ENet 1.2.3 (February 10, 2011): 62 63* fixed bug in tracking reliable data in transit 64 65ENet 1.2.2 (June 5, 2010): 66 67* checksum functionality is now enabled by setting a checksum callback 68inside ENetHost instead of being a configure script option 69* added totalSentData, totalSentPackets, totalReceivedData, and 70totalReceivedPackets counters inside ENetHost for getting usage 71statistics 72* added enet_host_channel_limit() for limiting the maximum number of 73channels allowed by connected peers 74* now uses dispatch queues for event dispatch rather than potentially 75unscalable array walking 76* added no_memory callback that is called when a malloc attempt fails, 77such that if no_memory returns rather than aborts (the default behavior), 78then the error is propagated to the return value of the API calls 79* now uses packed attribute for protocol structures on platforms with 80strange alignment rules 81* improved autoconf build system contributed by Nathan Brink allowing 82for easier building as a shared library 83 84Caveats: If you were using the compile-time option that enabled checksums, 85make sure to set the checksum callback inside ENetHost to enet_crc32 to 86regain the old behavior. The ENetCallbacks structure has added new fields, 87so make sure to clear the structure to zero before use if 88using enet_initialize_with_callbacks(). 89 90ENet 1.2.1 (November 12, 2009): 91 92* fixed bug that could cause disconnect events to be dropped 93* added thin wrapper around select() for portable usage 94* added ENET_SOCKOPT_REUSEADDR socket option 95* factored enet_socket_bind()/enet_socket_listen() out of enet_socket_create() 96* added contributed Code::Blocks build file 97 98ENet 1.2 (February 12, 2008): 99 100* fixed bug in VERIFY_CONNECT acknowledgement that could cause connect 101attempts to occasionally timeout 102* fixed acknowledgements to check both the outgoing and sent queues 103when removing acknowledged packets 104* fixed accidental bit rot in the MSVC project file 105* revised sequence number overflow handling to address some possible 106disconnect bugs 107* added enet_host_check_events() for getting only local queued events 108* factored out socket option setting into enet_socket_set_option() so 109that socket options are now set separately from enet_socket_create() 110 111Caveats: While this release is superficially protocol compatible with 1.1, 112differences in the sequence number overflow handling can potentially cause 113random disconnects. 114 115ENet 1.1 (June 6, 2007): 116 117* optional CRC32 just in case someone needs a stronger checksum than UDP 118provides (--enable-crc32 configure option) 119* the size of packet headers are half the size they used to be (so less 120overhead when sending small packets) 121* enet_peer_disconnect_later() that waits till all queued outgoing 122packets get sent before issuing an actual disconnect 123* freeCallback field in individual packets for notification of when a 124packet is about to be freed 125* ENET_PACKET_FLAG_NO_ALLOCATE for supplying pre-allocated data to a 126packet (can be used in concert with freeCallback to support some custom 127allocation schemes that the normal memory allocation callbacks would 128normally not allow) 129* enet_address_get_host_ip() for printing address numbers 130* promoted the enet_socket_*() functions to be part of the API now 131* a few stability/crash fixes 132 133 134