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