ChangeLog 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. ENet CVS (January 31, 2011):
  2. * reliable data window size now scales with the throttle
  3. * fixed bug in fragment length calculation when checksums are used
  4. ENet 1.3.0 (June 5, 2010):
  5. * enet_host_create() now requires the channel limit to be specified as
  6. a parameter
  7. * enet_host_connect() now accepts a data parameter which is supplied
  8. to the receiving receiving host in the event data field for a connect event
  9. * added an adaptive order-2 PPM range coder as a built-in compressor option
  10. which can be set with enet_host_compress_with_range_coder()
  11. * added support for packet compression configurable with a callback
  12. * improved session number handling to not rely on the packet checksum
  13. field, saving 4 bytes per packet unless the checksum option is used
  14. * removed the dependence on the rand callback for session number handling
  15. Caveats: This version is not protocol compatible with the 1.2 series or
  16. earlier. The enet_host_connect and enet_host_create API functions require
  17. supplying additional parameters.
  18. ENet 1.2.2 (June 5, 2010):
  19. * checksum functionality is now enabled by setting a checksum callback
  20. inside ENetHost instead of being a configure script option
  21. * added totalSentData, totalSentPackets, totalReceivedData, and
  22. totalReceivedPackets counters inside ENetHost for getting usage
  23. statistics
  24. * added enet_host_channel_limit() for limiting the maximum number of
  25. channels allowed by connected peers
  26. * now uses dispatch queues for event dispatch rather than potentially
  27. unscalable array walking
  28. * added no_memory callback that is called when a malloc attempt fails,
  29. such that if no_memory returns rather than aborts (the default behavior),
  30. then the error is propagated to the return value of the API calls
  31. * now uses packed attribute for protocol structures on platforms with
  32. strange alignment rules
  33. * improved autoconf build system contributed by Nathan Brink allowing
  34. for easier building as a shared library
  35. Caveats: If you were using the compile-time option that enabled checksums,
  36. make sure to set the checksum callback inside ENetHost to enet_crc32 to
  37. regain the old behavior. The ENetCallbacks structure has added new fields,
  38. so make sure to clear the structure to zero before use if
  39. using enet_initialize_with_callbacks().
  40. ENet 1.2.1 (November 12, 2009):
  41. * fixed bug that could cause disconnect events to be dropped
  42. * added thin wrapper around select() for portable usage
  43. * added ENET_SOCKOPT_REUSEADDR socket option
  44. * factored enet_socket_bind()/enet_socket_listen() out of enet_socket_create()
  45. * added contributed Code::Blocks build file
  46. ENet 1.2 (February 12, 2008):
  47. * fixed bug in VERIFY_CONNECT acknowledgement that could cause connect
  48. attempts to occasionally timeout
  49. * fixed acknowledgements to check both the outgoing and sent queues
  50. when removing acknowledged packets
  51. * fixed accidental bit rot in the MSVC project file
  52. * revised sequence number overflow handling to address some possible
  53. disconnect bugs
  54. * added enet_host_check_events() for getting only local queued events
  55. * factored out socket option setting into enet_socket_set_option() so
  56. that socket options are now set separately from enet_socket_create()
  57. Caveats: While this release is superficially protocol compatible with 1.1,
  58. differences in the sequence number overflow handling can potentially cause
  59. random disconnects.
  60. ENet 1.1 (June 6, 2007):
  61. * optional CRC32 just in case someone needs a stronger checksum than UDP
  62. provides (--enable-crc32 configure option)
  63. * the size of packet headers are half the size they used to be (so less
  64. overhead when sending small packets)
  65. * enet_peer_disconnect_later() that waits till all queued outgoing
  66. packets get sent before issuing an actual disconnect
  67. * freeCallback field in individual packets for notification of when a
  68. packet is about to be freed
  69. * ENET_PACKET_FLAG_NO_ALLOCATE for supplying pre-allocated data to a
  70. packet (can be used in concert with freeCallback to support some custom
  71. allocation schemes that the normal memory allocation callbacks would
  72. normally not allow)
  73. * enet_address_get_host_ip() for printing address numbers
  74. * promoted the enet_socket_*() functions to be part of the API now
  75. * a few stability/crash fixes