NEWS 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. libmodbus 3.1.0 (2011-XX-XX)
  2. ============================
  3. - RTS flow control with modbus_rtu_set_rts and modbus_rtu_get_rts
  4. functions by Torello Querci <tquerci@gmail.com> and Stéphane Raimbault.
  5. libmodbus 3.0.1 (2011-07-18)
  6. ============================
  7. - Avoid useless serial_mode integer when TIOCSRS485 isn't supported
  8. - Fix compilation failure on Windows (RS485 support) by Tobias Doerffel
  9. <tobias.doerffel@gmail.com>
  10. - Properly check TIOCSRS485 define by Matthijs Kool
  11. - Rename package to libmodbus5 to fix lintian warning
  12. libmodbus 3.0.0 (2011-07-11)
  13. ============================
  14. - Revert libmodbus licence from LGPLv3 to LGPLv2.1 to avoid
  15. incompatibility with GPLv2 program. This change has been approved
  16. by Tobias Doerffel, Florian octo Forster and Hannu Vuolasaho.
  17. - Enable RS485 support only when available
  18. - Export modbus_set/get_serial_mode functions on all platforms
  19. - API change for read/write multiple registers function:
  20. * modbus_read_and_write_registers -> modbus_write_and_read_registers
  21. The function name was confusing because the write operation is performed
  22. before the read. Take care to swap the arguments in the migration process.
  23. - Documentation of modbus_write_and_read_registers, modbus_mapping_new/free,
  24. report_slave_id. modbus_get_byte_from_bits, modbus_set_bits_from_byte(s),
  25. modbus_[gs]et_float, modbus_reply and modbus_reply_exception.
  26. - Enhanced report slave ID
  27. - New RPM spec file to package documentation and development files
  28. libmodbus 2.9.4 (2011-06-05)
  29. ============================
  30. - IPv6 support
  31. Make the TCP implementation "protocol independent" by Florian Forster
  32. and Stéphane Raimbault.
  33. - Fix compilation on Windows 7 (x64) with MinGW/MSYS and GCC 4.5
  34. Reported by Patsy Kaye.
  35. - Documentation of libmodbus functions with AsciiDoc (man and HTML) by Stéphane
  36. Raimbault
  37. - Avoid an iteration in flush function
  38. - New functions to send and receive raw requests (modbus_send_raw_request,
  39. modbus_receive_confirmation)
  40. - Fix flush function of TCP backend on Windows
  41. - API changes for server/slave:
  42. * modbus_receive doesn't take socket/fd argument anymore
  43. * new function modbus_set_socket to set socket/fd
  44. - API changes for timeout functions:
  45. * modbus_get_timeout_begin -> modbus_get_response_timeout
  46. * modbus_set_timeout_begin -> modbus_set_response_timeout
  47. * modbus_get_timeout_end -> modbus_get_byte_timeout
  48. * modbus_set_timeout_end -> modbus_set_byte_timeout
  49. - Fix longstanding limitation of server to wait forever
  50. - New functions modbus_set/get_serial_mode by Manfred Gruber and Stéphane
  51. Raimbault for RS485 communications
  52. - Improved recovery mode (see modbus_set_error_recovery documentation) for
  53. data link and protocol errors.
  54. - Fix compilation issue with Microsoft Visual Studio 2008.
  55. Reported by Allan Cornet.
  56. libmodbus 2.9.3 (2011-01-14)
  57. ============================
  58. - Major rewriting of the message reading (no more timeouts on exception)
  59. by Stéphane Raimbault
  60. - New function to reply to an indication with an exception message
  61. modbus_reply_exception()
  62. - New function modbus_get_header_length(modbus_t *ctx)
  63. - New functions to manipulate data:
  64. * MODBUS_GET_INT32_FROM_INT16
  65. * MODBUS_GET_INT16_FROM_INT8
  66. * MODBUS_SET_INT16_TO_INT8
  67. - Fix GH-2. Read/write were swapped in _FC_READ_AND_WRITE_REGISTERS
  68. - Install an ignore handler for SIGPIPE on *BSD
  69. Original patch by Jason Oster.
  70. - Fix closing of Win32 socket.
  71. Reported by Petr Parýzek.
  72. - Fix unit identifier not copied by the TCP server.
  73. Reported by Antti Manninen.
  74. - Fix missing modbus_flush() in unit tests
  75. - Fixes for OpenBSD by Barry Grumbine and Jason Oster
  76. libmodbus 2.9.2 (2010-12-05)
  77. ============================
  78. - Win32 support by Tobias Doerffel
  79. - Split source code around RTU and TCP (backends)
  80. - Rename modbus_[listen|accept] to modbus_tcp_[listen|accept]
  81. - Remove slave argument from modbus_new_rtu()
  82. - Check received function code
  83. - Fix segfault in bandwidth-server-many-up on inet_ntoa() call
  84. - Fix unit test of report slave ID in RTU
  85. - Fix GH-3. Remove inclusion of config.h in modbus.h
  86. - Correctly detect if we are cross-compiling for win32 by Kirill Smelkov.
  87. - Fix setting of the broadcast address
  88. libmodbus 2.9.1 (2010-08-16)
  89. ============================
  90. - Brand new API (see MIGRATION notes)!
  91. - Remove the internal function set_message_length_tcp
  92. - Restore slave ID (server ID) argument in functions
  93. - Error conventions of POSIX systems and error recover
  94. - Parity setting is now a single char ('N', 'E' or 'O')
  95. - Report slave ID server side
  96. - OpenBSD support by Anibal Limón.
  97. - New read and write registers function by Hannu Vuolasaho.
  98. - Versioning infrastructure
  99. Inspired by the Clutter project and the work done by Florian Forster.
  100. - Fix the broadcast constant (255 -> 0)
  101. Reported by David Olivari.
  102. - Fix #463299 - New functions to define the timeouts of begin and end of trame
  103. Original patch by Sisyph (eric-paul).
  104. - Fix #591142 - Slave id check should be disabled in TCP connection
  105. Reported by aladdinwu.
  106. libmodbus 2.1.0 (2010-03-24)
  107. ============================
  108. - New API to read and write float values by Stéphane Raimbault and Florian
  109. Forster.
  110. - New API for slave server (see MIGRATION)
  111. - New slave server able to handle multiple connections
  112. - Slave only replies to broadcast queries or queries with its slave ID
  113. - Improved Modbus protocol conformance
  114. - modbus_param_t is smaller (2 int removed)
  115. - Better error management and SIGPIPE signal is blocked
  116. - Faster
  117. - Fix #333455 - Cygwin IPTOS_LOWDELAY not supported on cygwin
  118. Reported by Jeff Laughlin and Yishin Li.
  119. - Fix #375926 - modbus.c:164: error: `MSG_DONTWAIT' undeclared
  120. Reported and tested by Yishin Li.
  121. - Fix #378981 - CRC error on RTU response doesn't return negative value
  122. Reported by Henrik Munktell.
  123. - Fix report slave ID request
  124. Patch (bzr) provided by Paul Fertser.
  125. - Fix #425604 - Conditional jump or move depends on uninitialised value(s)
  126. Occurs on first occurence of slave timeout.
  127. Reported by Henrik Munktell.
  128. - Fix #457200 - FreeBSD support
  129. Patch provided by Norbert Koch.
  130. Other changes:
  131. - The code is now published and developed on
  132. http://github.com/stephane/libmodbus
  133. - Waf support has been removed
  134. libmodbus 2.0.3 (2009-03-22)
  135. ============================
  136. - Fix CRC error when a slave RTU send a response.
  137. Thanks to Justin Carroll to have reported and tested my patch.
  138. - Remove an assignment in compute_response_length()
  139. - Remove duplicate counter in read_io_status()
  140. - Fix #274511 reported by 'Kylesch'
  141. Invalid error check in modbus_init_listen_tcp
  142. libmodbus 2.0.2 (2008-08-10)
  143. ============================
  144. - Fix a bug reported by email by Davide Pippa
  145. The function modbus_receive must check the number of values
  146. indicated in the response accordingly to the query.
  147. - Fix #241006 reported by Jesus Hernandez Tapia
  148. modbus_check_response() crashes on an invalid exception code
  149. - Reduce the number of function calls (read_reg_response and
  150. preset_response have been removed)
  151. - Add a new unit test for bad response
  152. - Catch the timeout even if the length is equal to a exception trame
  153. - Test only msg_length_computed on change
  154. - Many comments and cleanups
  155. libmodbus 2.0.1 (2008-07-02)
  156. ============================
  157. - Include libmodbus.spec in the tarball
  158. - Fix #241006 reported by Jesus Hernandez Tapia
  159. modbus_check_response() crashes on an invalid exception code
  160. libmodbus 2.0.0 (2008-05-18)
  161. ============================
  162. - Slave API
  163. https://blueprints.launchpad.net/libmodbus/+spec/slave-api
  164. - No more glib dependency
  165. https://blueprints.launchpad.net/libmodbus/+spec/glib-dependency
  166. - Unit testing and many test programs
  167. - Waf build support
  168. https://blueprints.launchpad.net/libmodbus/+spec/waf-support
  169. - MacOS X support by Matthew Butch
  170. https://blueprints.launchpad.net/libmodbus/+spec/macosx-support
  171. - Unit testing (unit-test-slave and unit-test-master)
  172. - Port number is now defined at initialisation by Dirk Reusch
  173. - Better memory management (uint8_t *data and packing of
  174. modbus_param_t)
  175. - Better error management
  176. - Declare many static functions and const arrays
  177. - Enhance an integer division
  178. - The GNU licences LGPL and GPL are in version 3
  179. - Debian and RPM packages (#224496)
  180. - Many cleanups
  181. - Fix #159443 reported by Stefan Bisanz
  182. Index of incoming data in force multiple coils function
  183. - Fix #161989 reported by Konstantinos Togias
  184. Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't
  185. fit to modbus_param_t -> device char[11] var.
  186. - Fix #188189 reported by Chris Hellyar
  187. Compute_response_size() no entry for read_input_status()
  188. - Fix #191039 reported by Todd Denniston
  189. modbus.h is not installed at prefix.
  190. - Fix #211460 reported by Todd Denniston
  191. With TCP, automatic reconnect on error may not be desired.
  192. - Fix #224485 reported by Todd Denniston
  193. libmodbus does not link with c++ code.
  194. - Fix #224496 reported by Todd Denniston
  195. It is easier to install on rpm based systems with a spec file.
  196. libmodbus 1.2.5 (2008-05-18)
  197. ============================
  198. - Fix #224485 reported by Todd Denniston
  199. libmodbus does not link with c++ code.
  200. libmodbus 1.2.4 (2008-03-14)
  201. ============================
  202. - Fix #191039 reported by Todd Denniston
  203. modbus.h is not installed at prefix.
  204. libmodbus 1.2.3 (2008-02-03)
  205. ============================
  206. - Fix #188189 reported by Chris Hellyar
  207. Compute_response_size() no entry for read_input_status()
  208. - Fix #181887 reported by Jesus Hernandez Tapia.
  209. Slave address in build_request_packet_tcp() is hardcoded as 0xFF.
  210. libmodbus 1.2.2 (2007-11-12)
  211. ============================
  212. - Fix #161989 reported by Konstantinos Togias
  213. Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't
  214. fit to modbus_param_t -> device char[11] var.
  215. - Structure is also bit better 'packed' to conserve memory (see the
  216. trunk for a real enhancement).
  217. libmodbus 1.2.1 (2007-11-02)
  218. ============================
  219. - Fix #159443 reported by Stefan Bisanz
  220. Index of incoming data in force multiple coils function
  221. - Deleted useless code in check_crc16()
  222. - Untabify source code
  223. - Changed author's email to Stéphane Raimbault
  224. libmodbus 1.2.0 (2007-05-10)
  225. ============================
  226. - FIX Compilation GCC-4.0
  227. - Project name in autogen.sh