ChangeLog 5.5 KB

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