Litian fixes provided by Ivo De Decker
[libmodbus.git] / NEWS
blob911bfff6e33207b0ab596160d996d6a1d174c575
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 ============================
22 - IPv6 support
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
28   Raimbault
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)
53   by Stéphane Raimbault
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
112   Forster.
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
119 - Faster
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.
134 Other changes:
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 ============================
178 - Slave API
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
183 - Waf build support
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
190   modbus_param_t)
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)
196 - Many cleanups
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