Move migration content to libmodbus.org
[libmodbus.git] / NEWS
blobef1997be4dd38a907624449837cb2bcc65049dc9
1 libmodbus 3.1.8 (2022-08-17)
2 ============================
4 - Major rewrite of documentation with Material for mkdocs
5 - Reduce memory use of TCP PI backend (closes #621)
6 - Fixed MODBUS_ERROR_RECOVERY_LINK not working on Windows (@embeddedmz)
7 - Replace Travis CI by GitHub CI
8 - Fix linker error for Windows (VCLinkerTool)
9 - Address check in single register / coil responses added (#463)
10 - Swap CRC bytes in request data but not at CRC computing (#397)
11 - Fix float endianness issue on big endian architecture
12 - Fix comment about EMBUNKEXC (closes #566)
13 - Fix network library detection on Haiku
14 - Fix typos (closes #620)
16 libmodbus 3.1.7 (2022-01-09)
17 ============================
19 - modbus_reply: fix copy & paste error in sanity check (fixes #614)
20 - Add SECURITY.md (closes #613)
21 - Fix typo in comment (closes #588)
22 - Replace obsolete AC_PROG_CC_STDC by AC_PROG_CC
23 - Fix position of CC flags in documentation (closes #599)
24 - Remove duplicate ';' (closes #602)
25 - Add the baud rate of 256k for Windows (closes #603)
26 - cosmetic changes in man page standardizing itemization
27 - Fix many typos
28 - Replace .dir-locals.el (Emacs) by .editorconfig
29 - Include the test LICENSE in tarball
30 - Install the NEWS and AUTHORS files
31 - Update README.md
32 - docs: fix simple typo, reponse -> response
33 - Add modbus_[get|set]_indication_timeout to doc build
34 - Fix warning issues
35 - Move malloc before starting unit tests
36 - Fixed MODBUS_GET_* macros in case of negative values
37 - SPDX: change LGPL-2.1+ to LGPL-2.1-or-later
39 Thank you to @yegorich, @i-ky, @jobol, @timgates42, @anton-bondarev,
40 @richardash1981, @stefannilsson, @Zugschlus, @qqq89513 and @mhei.
42 libmodbus 3.1.6 (2019-07-31)
43 ============================
45 - Fix awful typo in fix for VD-1301 vulnerability.
46   Thank you @karlp.
48 libmodbus 3.1.5 (2019-07-29)
49 ============================
51 - Fix URL
52 - Add appveyor.com config
53 - Update libmodbus.txt
54 - Change arg value from int to const uint16_t in modbus_write_register
55 - Mark raw_req argument as const in modbus_send_raw_request (closes #479)
56 - Add unit tests for VD-1301 and VD-1302 vulnerabilities
57 - Fix VD-1301 and VD-1302 vulnerabilities
58 - Create CODE_OF_CONDUCT.md
59 - modbus_mapping_t is now a named typedef (to allow forward declaration)
60 - Rename type as flags for consistency between functions
61 - Add missing SOCK_CLOEXEC flag on socket creation
62 - Remove wrong and harmful checks in configure.ac
63 - Oops fix OR on RS485 settings (1c5d969)
64 - Only set SER_RS485_ENABLED bit of existing RS485 settings
65 - Add .vscode/ to .gitignore
66 - Fix wrong function name
67 - Remove a duplicated semi-colon
68 - Fix a small typo in test message
69 - Fix modbus_reply for TCP when unit id == 0 (fixes #376)
70 - New functions to define the indication timeout (#95)
71 - Remove CYGWIN condition to provide bswap16 fallback (#383)
72 - typo fix
73 - Use builtin bswap16 of gcc 4.8 (#377)
74 - Handle out-of-memory conditions more gracefully
75 - [doc] Add entry points for accept/listen in libmodbus index
76 - Fix typo
77 - Refine issue template for Github
78 - Move WINVER definition before other includes (#350)
79 - Add new function modbus_get_slave()
80 - Fix LIBMODBUS_VERSION_HEX encoding (closes #345)
81 - tcp_modbus_accept mustn't close socket on error (closes #333)
83 libmodbus 3.1.4 (2016-05-28)
84 ============================
86 - C_PROG_RANLIB is rendered obsolete by LT_INIT
87 - Improve ifdef around bswap_16 for __CYGWIN__
88 - Improve Cygwin support. Thanks to StalderT.
89 - Another round of DRY in modbus_reply()
90 - Rename raw_rep to raw_rsp in unit-test-client
91 - Fix wrong function name in debug message
92 - Fix handling of invalid function code (closes #315)
93 - Add debug message on unknown function and new unit test
94 - DRY in modbus_reply by improving response_exception()
95 - Fix typo in 3053bd0adb
96 - CID 69145 - Argument cannot be negative in unit-test-server
97 - CID 69142 - Unchecked return value in unit-test-server
98 - Fix CID 69140 - Bad bit shift operation (coverity) in tests
99 - Rewrite and rename README as README.md in tests/
100 - Github's contributing and issue template files
101 - Fix small leak (64 bytes in TCP) in unit-test-client
102 - Add unit-tests.sh to tarball
103 - Add ./configure.scan to .gitignore
104 - Move setting of option inside the relevant conditional group
105 - Add links to new modbus_*_float_* functions in index
106 - Slight change to modbus_report_slave_id doc.
108 libmodbus 3.1.3 (2016-05-11)
109 ============================
111 - New bswap macros for Max OSX by Jakob Bysewski.
112 - Fix "wildcard address" in TCP IPv6 by Shoichi Sakane.
113 - Introduce offsets in modbus mappings with modbus_mapping_new_start_address.
114   Thanks to Michael Heimpold and Stéphane Raimbault.
115 - Fix address range in random-test-client.
116   Thanks to Martin Galvan.
117 - Add an option to disable tests compilation by Yegor Yefremov.
118 - Define MSG_DONTWAIT to MSG_NONBLOCK on AIX (#294).
119   Thanks to Fabrice Cantos.
120 - Fix building when byteswap.h is not defined by Tomasz Mon.
121 - Add some more macros for data manipulation and documentation.
122 - Remove duplicate install of modbus.h (closes #290).
123   Thanks to Daniel Sutcliffe.
124 - Move MIGRATION and README.md to dist_doc_DATA target.
125 - Change order of few functions in modbus RTU code.
126 - Add entries for modbus_rtu_[get|set]_delay in documentation index.
127 - Implemented runtime configurable RTS delay by Jimmy Bergström.
128 - Add an entry in libmodbus index page for modbus_rtu_set_custom_rts.
129 - Add support for user defined RTS toggle function by Jimmy
130   Bergström.
131 - Added ILLEGAL_DATA_ADDRESS tests for modbus_write_register[|s].
132   Thanks to Andrey Skvortsov.
133 - Update documentation of modbus_rtu_set_rts
134 - Fix rts signal switch time by Hiromasa Ihara.
135 - Improve new_rtu and set_slave documentation (related to #276).
136 - Fix late check of ctx in modbus_reply[|_exception] (closes #269).
137 - Wait the server for 1 second before running tests (help Travis).
138 - A libmodbus context isn't thread safe and won't be (closes #246).
139 - Fix buffer overflow in modbus_mask_write_register (#265).
140 - Minor adjustments to README about AsciiDoc.
141 - Export MODBUS_MAX_ADU_LENGTH and documentation (ref #241).
142 - Explicit check against Modbus broadcast address.
143 - Do not reply on broadcast requests (fixes #153). Thanks to Michael.
144 - Add Travis support.
145 - Run unit tests with standard: make check (closes #205, closes #238).
146   This patch has been developed by Andrey Skvortsov, Michael Heimpold
147   and Stéphane Raimbault.
148 - modbus_send_raw_request: limit request length (fixes #207).
149   Thanks to Hanno Neuer for spotting this security flaw.
150 - Add new contributors to AUTHORS
151 - Introduce SPDX license identifiers. Thanks to Michael Heimpold.
153 libmodbus 3.1.2 (2015-02-13)
154 ============================
156 If you still want to listen any addresses in your TCP IPv4 server, you must now
157 set the IP address to NULL in modbus_new_tcp before listening. Now,
158 modbus_tcp_listen only listen the IP address set in the Modbus context (see
159 documentation).
161 This release introduces API changes on modbus_get_byte_timeout,
162 modbus_get_response_timeout, modbus_set_byte_timeout,
163 modbus_set_response_timeout to ease writing of language bindings.
165 - Rewrite documentation building system
166 - Fix timeouts in unit tests
167 - Don't flush on illegal address errors in single write functions
168 - Fix compilation on compilers not supporting c99 mode.
169   Thanks to Michael Heimpold.
170 - Update license for the tests in Debian packaging (#221)
171 - Move check of device earlier to avoid a free call
172 - Unit test for baud rate check and error message.
173 - Fix crash modbus_new_rtu when baud is 0.
174   Thank you to Daniel Schürmann.
175 - Removed function prototype without implementation
176   Thank you Andrej Skvortzov.
177 - Switch test programs to a BSD license
178 - Fix remote buffer overflow vulnerability on write requests
179 - Avoid twice connect() in source code (closes #194)
180 - Fix compilation with MinGW (GCC 4.8.1) under Win7 (closes #163)
181   Thank you MarjanTomas and SwissKnife.
182 - Fix TCP IPv4 modbus_connect() on win32 (closes #100 and #165)
183   Thank you Petr Gladkiy and Marjan Tomas.
184 - Fix 24a05ebd3c0 - win32: init of modbus_tcp_pi_listen (#187)
185 - INADDR_* macros are defined in host byte order
186 - Filter of IP addresses in IPv4 server (closes #190)
187 - Allow to listen any hosts in IPv6 (closes #32)
188 - Define and public export of MODBUS_MAX_PDU_LENGTH (closes #167)
189 - Truncate data from response in report_slave_id to new max arg (closes #167)
190 - Fix response timeout modification on connect (closes #80)
191 - New API to set/get response and byte timeouts.
192   New unit tests and updated documentation.
193 - Export Modbus function codes supported by libmodbus
194 - Fix bandwidth-server-one (closes #152)
195 - Check debug flag in RTU code
196 - Remove warnings caused by shadowed 'index' variable.
197   Thanks to Åke Forslund.
198 - Use accept4 in TCP PI if available
199 - Add documentation for tcp[_pi]_accept (closes #31)
200 - Fix mistake in modbus_tcp_listen documentation
201 - Add documentation for modbus_tcp_pi_listen
202 - Fix for MinGW and Windows (#144, #169, #175, #180, #181, #187)
203   Thanks to Marjan Tomas.
204 - Many other fixes (#134, #157, #158, #183, #184) and improvements.
206 libmodbus 3.1.1 (2013-10-06)
207 ============================
209 More robust to exploits, more compliant and better handling of connect/close
210 sequences. Windows support still broken.
212 - New unit tests
213 - Fix remote buffer overflow vulnerability (closes #25, #105)
214 - Explain how to define response timeouts when many RTU slaves
215 - Fix receiving of incorrect queries in write_single and mask_write_register
216   Thanks to James Nutaro.
217 - Check return value of autoreconf.
218   Thanks to Lauri Nurmi
219 - Constant for broacast and test ordering
220 - Fix the fix of device string check
221 - Various changes to try to improve *broken* Windows support
222 - Try to fix MinGW compilation
223 - Portable use of bswap_32
224 - Improve support of MacOS X
225 - Fix socket value on init/close
226 - Returns -1 on invalid mode in modbus_rtu_set_rts
227 - Protect all public functions against invalid context
228 - Sleep for delay of response timeout before reconnect (closes #77).
229   Thanks to Karl Palsson.
230 - Baud rate until 4,000,000 (POSIX), 1,000,000 (Windows) (closes #93)
231 - New modbus_get|set_float_dcba to get|set float in inversed byte order
232 - Remove unsupported -Wtype-limits for GCC < 4.3.5 (closes #109)
233 - Enable out-of-source build. Thanks to Yegor Yefremov.
234 - Fix alignment problem on ARMv5 platform
235 - Improvement to Debian package. Thanks to Alexander Klauer.
236 - Improve support of VS 2005. Thanks to Petr Gladkiy.
237 - Add documentation for modbus_mask_write_register (closes #91).
238   Thanks to Martijn de Gouw.
239 - Avoid C99 declaration in win32 section code (closes #92).
240   Thanks to oldfaber and endrelovas.
241 - Add a windows scripting host configure file.
242   Thanks to oldfaber and Stéphane Raimbault.
243 - Fix typo in modbus_strerror documentation. Thanks to Mirko Rajkovaca.
244 - Rename reserved C++ keywords of modbus_mask_write_register.
245   Thanks Tobias Doerffel.
246 - Another quick workaround for deficient OS (closes #63)
247 - Add support for Mask Write Register
248 - Fix missing close on socket in random-test-server.
249   Thanks to Damian Zieliński.
250 - Use nonblocking sockets on Win32 and OS X/iOS too.
251   Thanks to Julian Raschke.
252 - Fix all compilations warnings spotted by new compilation flags
253 - Major update of build system
254 - Calculate RTS activation time by send length
255 - Dynamic memory allocation of device name (closes #11)
256 - Add unit tests for modbus_mapping_new
257 - Add Visual Studio 2008 project files by oldfaber
258 - Fix missing argument in synopsis section of modbus_rtu_set_serial_mode
259 - Fix wrong constant names to create version number
260 - More compilation fixes for Windows by oldfaber.
261 - Fix wrong constant names to create version number.
262   Thanks to Denis Davydov.
264 libmodbus 3.1.0 (2012-06-22)
265 ============================
267 Major changes to handle many slaves in RTU mode, non blocking connections and
268 RTS flow control.
270 - Fixes for Microsoft Visual C++ compiler
271 - Fixes for Windows. Thanks to oldfaber
272 - Return value of _modbus_tcp_pi_connect() on failure (closes #61)
273 - Avoid ioctl call on non-RS485 ports. Thanks to Michael Haberler
274 - Display node and service in PI and port in IPv4 at connection
275 - Return -1 on getaddrinfo error and print error in debug mode
276 - More robust way to establish the connection in non blocking mode
277 - TCP - Socket in non blocking mode by default. Thanks to Thomas Stalder
278 - Apply CLOEXEC flag for TCP protocol independent too (IPv6)
279 - New RTU receive() to ignore confirmation from other slaves (closes #18)
280 - Move RTU filtering in CRC check to avoid useless call to modbus_reply
281 - Unique transaction identifier by TCP connection
282 - Use accept4 with SOCK_CLOEXEC when available (Linux)
283 - Open fd and socket with the CLOEXEC flag when available
284 - Exception response on report slave ID wasn't detected (closes #27)
285 - Provides a way to disable the byte timeout (Alex Stapleton)
286 - Added slave ID check for response messages (Alex Stapleton)
287 - RTS flow control with modbus_rtu_set_rts and modbus_rtu_get_rts
288   functions by Torello Querci <tquerci@gmail.com> and Stéphane Raimbault.
290 libmodbus 3.0.8 (2019-07-31)
291 ============================
293 - Fix awful typo in fix for VD-1301 vulnerability.
294   Thank you @karlp.
296 libmodbus 3.0.7 (2019-07-29)
297 ============================
299 - Backport fixes for VD-1301 and VD-1302 vulnerabilities
300 - Move WINVER definition before other includes (closes #350)
301 - Replace signed int by unsigned
303 libmodbus 3.0.6 (2014-02-21)
304 ============================
306 - Backport fix remote buffer overflow vulnerability on write requests
307 - Replace deprecated INCLUDES by AM_CPPFLAGS
309 libmodbus 3.0.5 (2013-10-06)
310 ============================
312 - Fix remote buffer overflow vulnerability
313 - Fix receiving of incorrect queries in write_single
315 libmodbus 3.0.4 (2012-05-08)
316 ============================
318 - autogen.sh creates symlinks instead of copies
319 - Add missing m4 directory (closes #103)
320 - Fix alignment problem on ARMv5 platform
321   Thanks to Alexander Dahl
322 - Remove useless test on error_recovery argument
323   Thanks to Carlos Tangerino
325 libmodbus 3.0.3 (2012-05-25)
326 ============================
328 - Fix another Visual C++ 2008/2010 deficiency (closes #53)
329 - Add -lsocket to compile on QNX
330 - Fix TCP PI init under Windows.
331   Thanks to oldfaber.
332 - Fix a missing free in random-test-client
333   Thanks again to Stefan Finzel.
334 - Fix OMG bug in modbus_mapping_free not freeing memory.
335   Thanks to Stefan Finzel for the bug report.
336 - Fix semicolon typo and unistd.h include under Windows.
337   Thanks to Andrew Kravchuk.
339 libmodbus 3.0.2 (2012-01-16)
340 ============================
342 - Update Debian package
343 - Documentation fixes and additions
344 - Add missing C++ macros in public headers.
345   Thanks to Bernhard Agthe.
346 - Protects modbus_mapping_free against NULL argument.
347   Thanks to Andrea Mattia
348 - Fix check on file doc/libmodbus.7 in acinclude.m4 (closes #28)
349 - Close file descriptor when the settings don't apply in RTU.
350   Original patch provided by Thomas Stalder.
351 - unit-test.h is now generated to avoid config.h dependency.
352 - Request for Windows Sockets specification version 2.2 instead of 2.0
353   Thanks to Pavel Mazniker for the report.
355 libmodbus 3.0.1 (2011-07-18)
356 ============================
358 - Avoid useless serial_mode integer when TIOCSRS485 isn't supported
359 - Fix compilation failure on Windows (RS485 support) by Tobias Doerffel
360   <tobias.doerffel@gmail.com>
361 - Properly check TIOCSRS485 define by Matthijs Kool
362 - Rename package to libmodbus5 to fix lintian warning
364 libmodbus 3.0.0 (2011-07-11)
365 ============================
367 - Revert libmodbus licence from LGPLv3 to LGPLv2.1 to avoid
368   incompatibility with GPLv2 program. This change has been approved
369   by Tobias Doerffel, Florian octo Forster and Hannu Vuolasaho.
370 - Enable RS485 support only when available
371 - Export modbus_set/get_serial_mode functions on all platforms
372 - API change for read/write multiple registers function:
373     * modbus_read_and_write_registers -> modbus_write_and_read_registers
374   The function name was confusing because the write operation is performed
375   before the read. Take care to swap the arguments in the migration process.
376 - Documentation of modbus_write_and_read_registers, modbus_mapping_new/free,
377   report_slave_id. modbus_get_byte_from_bits, modbus_set_bits_from_byte(s),
378   modbus_[gs]et_float, modbus_reply and modbus_reply_exception.
379 - Enhanced report slave ID
380 - New RPM spec file to package documentation and development files
382 libmodbus 2.9.4 (2011-06-05)
383 ============================
385 - IPv6 support
386   Make the TCP implementation "protocol independent" by Florian Forster
387   and Stéphane Raimbault.
388 - Fix compilation on Windows 7 (x64) with MinGW/MSYS and GCC 4.5
389   Reported by Patsy Kaye.
390 - Documentation of libmodbus functions with AsciiDoc (man and HTML) by Stéphane
391   Raimbault
392 - Avoid an iteration in flush function
393 - New functions to send and receive raw requests (modbus_send_raw_request,
394   modbus_receive_confirmation)
395 - Fix flush function of TCP backend on Windows
396 - API changes for server/slave:
397     * modbus_receive doesn't take socket/fd argument anymore
398     * new function modbus_set_socket to set socket/fd
399 - API changes for timeout functions:
400     * modbus_get_timeout_begin -> modbus_get_response_timeout
401     * modbus_set_timeout_begin -> modbus_set_response_timeout
402     * modbus_get_timeout_end -> modbus_get_byte_timeout
403     * modbus_set_timeout_end -> modbus_set_byte_timeout
404 - Fix longstanding limitation of server to wait forever
405 - New functions modbus_set/get_serial_mode by Manfred Gruber and Stéphane
406   Raimbault for RS485 communications
407 - Improved recovery mode (see modbus_set_error_recovery documentation) for
408   data link and protocol errors.
409 - Fix compilation issue with Microsoft Visual Studio 2008.
410   Reported by Allan Cornet.
412 libmodbus 2.9.3 (2011-01-14)
413 ============================
415 - Major rewriting of the message reading (no more timeouts on exception)
416   by Stéphane Raimbault
417 - New function to reply to an indication with an exception message
418   modbus_reply_exception()
419 - New function modbus_get_header_length(modbus_t *ctx)
420 - New functions to manipulate data:
421     * MODBUS_GET_INT32_FROM_INT16
422     * MODBUS_GET_INT16_FROM_INT8
423     * MODBUS_SET_INT16_TO_INT8
424 - Fix GH-2. Read/write were swapped in _FC_READ_AND_WRITE_REGISTERS
425 - Install an ignore handler for SIGPIPE on *BSD
426   Original patch by Jason Oster.
427 - Fix closing of Win32 socket.
428   Reported by Petr Parýzek.
429 - Fix unit identifier not copied by the TCP server.
430   Reported by Antti Manninen.
431 - Fix missing modbus_flush() in unit tests
432 - Fixes for OpenBSD by Barry Grumbine and Jason Oster
435 libmodbus 2.9.2 (2010-12-05)
436 ============================
438 - Win32 support by Tobias Doerffel
439 - Split source code around RTU and TCP (backends)
440 - Rename modbus_[listen|accept] to modbus_tcp_[listen|accept]
441 - Remove slave argument from modbus_new_rtu()
442 - Check received function code
443 - Fix segfault in bandwidth-server-many-up on inet_ntoa() call
444 - Fix unit test of report slave ID in RTU
445 - Fix GH-3. Remove inclusion of config.h in modbus.h
446 - Correctly detect if we are cross-compiling for win32 by Kirill Smelkov.
447 - Fix setting of the broadcast address
450 libmodbus 2.9.1 (2010-08-16)
451 ============================
453 - Brand new API (see MIGRATION notes)!
454 - Remove the internal function set_message_length_tcp
455 - Restore slave ID (server ID) argument in functions
456 - Error conventions of POSIX systems and error recover
457 - Parity setting is now a single char ('N', 'E' or 'O')
458 - Report slave ID server side
459 - OpenBSD support by Anibal Limón.
460 - New read and write registers function by Hannu Vuolasaho.
461 - Versioning infrastructure
462   Inspired by the Clutter project and the work done by Florian Forster.
463 - Fix the broadcast constant (255 -> 0)
464   Reported by David Olivari.
465 - Fix #463299 - New functions to define the timeouts of begin and end of trame
466   Original patch by Sisyph (eric-paul).
467 - Fix #591142 - Slave id check should be disabled in TCP connection
468   Reported by aladdinwu.
471 libmodbus 2.1.0 (2010-03-24)
472 ============================
474 - New API to read and write float values by Stéphane Raimbault and Florian
475   Forster.
476 - New API for slave server (see MIGRATION)
477 - New slave server able to handle multiple connections
478 - Slave only replies to broadcast queries or queries with its slave ID
479 - Improved Modbus protocol conformance
480 - modbus_param_t is smaller (2 int removed)
481 - Better error management and SIGPIPE signal is blocked
482 - Faster
483 - Fix #333455 - Cygwin IPTOS_LOWDELAY not supported on cygwin
484   Reported by Jeff Laughlin and Yishin Li.
485 - Fix #375926 - modbus.c:164: error: `MSG_DONTWAIT' undeclared
486   Reported and tested by Yishin Li.
487 - Fix #378981 - CRC error on RTU response doesn't return negative value
488   Reported by Henrik Munktell.
489 - Fix report slave ID request
490   Patch (bzr) provided by Paul Fertser.
491 - Fix #425604 - Conditional jump or move depends on uninitialised value(s)
492   Occurs on first occurrence of slave timeout.
493   Reported by Henrik Munktell.
494 - Fix #457200 - FreeBSD support
495   Patch provided by Norbert Koch.
497 Other changes:
499 - The code is now published and developed on
500   http://github.com/stephane/libmodbus
501 - Waf support has been removed
504 libmodbus 2.0.3 (2009-03-22)
505 ============================
507 - Fix CRC error when a slave RTU send a response.
508   Thanks to Justin Carroll to have reported and tested my patch.
509 - Remove an assignment in compute_response_length()
510 - Remove duplicate counter in read_io_status()
511 - Fix #274511 reported by 'Kylesch'
512   Invalid error check in modbus_init_listen_tcp
515 libmodbus 2.0.2 (2008-08-10)
516 ============================
517 - Fix a bug reported by email by Davide Pippa
518   The function modbus_receive must check the number of values
519   indicated in the response accordingly to the query.
520 - Fix #241006 reported by Jesus Hernandez Tapia
521   modbus_check_response() crashes on an invalid exception code
522 - Reduce the number of function calls (read_reg_response and
523   preset_response have been removed)
524 - Add a new unit test for bad response
525 - Catch the timeout even if the length is equal to a exception trame
526 - Test only msg_length_computed on change
527 - Many comments and cleanups
530 libmodbus 2.0.1 (2008-07-02)
531 ============================
533 - Include libmodbus.spec in the tarball
534 - Fix #241006 reported by Jesus Hernandez Tapia
535   modbus_check_response() crashes on an invalid exception code
538 libmodbus 2.0.0 (2008-05-18)
539 ============================
541 - Slave API
542   https://blueprints.launchpad.net/libmodbus/+spec/slave-api
543 - No more glib dependency
544   https://blueprints.launchpad.net/libmodbus/+spec/glib-dependency
545 - Unit testing and many test programs
546 - Waf build support
547   https://blueprints.launchpad.net/libmodbus/+spec/waf-support
548 - MacOS X support by Matthew Butch
549   https://blueprints.launchpad.net/libmodbus/+spec/macosx-support
550 - Unit testing (unit-test-slave and unit-test-master)
551 - Port number is now defined at initialisation by Dirk Reusch
552 - Better memory management (uint8_t *data and packing of
553   modbus_param_t)
554 - Better error management
555 - Declare many static functions and const arrays
556 - Enhance an integer division
557 - The GNU licences LGPL and GPL are in version 3
558 - Debian and RPM packages (#224496)
559 - Many cleanups
560 - Fix #159443 reported by Stefan Bisanz
561   Index of incoming data in force multiple coils function
562 - Fix #161989 reported by Konstantinos Togias
563   Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't
564   fit to modbus_param_t -> device char[11] var.
565 - Fix #188189 reported by Chris Hellyar
566   Compute_response_size() no entry for read_input_status()
567 - Fix #191039 reported by Todd Denniston
568   modbus.h is not installed at prefix.
569 - Fix #211460 reported by Todd Denniston
570   With TCP, automatic reconnect on error may not be desired.
571 - Fix #224485 reported by Todd Denniston
572   libmodbus does not link with c++ code.
573 - Fix #224496 reported by Todd Denniston
574   It is easier to install on rpm based systems with a spec file.
577 libmodbus 1.2.5 (2008-05-18)
578 ============================
580 - Fix #224485 reported by Todd Denniston
581   libmodbus does not link with c++ code.
584 libmodbus 1.2.4 (2008-03-14)
585 ============================
587 - Fix #191039 reported by Todd Denniston
588   modbus.h is not installed at prefix.
591 libmodbus 1.2.3 (2008-02-03)
592 ============================
594 - Fix #188189 reported by Chris Hellyar
595   Compute_response_size() no entry for read_input_status()
596 - Fix #181887 reported by Jesus Hernandez Tapia.
597   Slave address in build_request_packet_tcp() is hardcoded as 0xFF.
600 libmodbus 1.2.2 (2007-11-12)
601 ============================
603 - Fix #161989 reported by Konstantinos Togias
604   Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't
605   fit to modbus_param_t -> device char[11] var.
606 - Structure is also bit better 'packed' to conserve memory (see the
607   trunk for a real enhancement).
610 libmodbus 1.2.1 (2007-11-02)
611 ============================
613 - Fix #159443 reported by Stefan Bisanz
614   Index of incoming data in force multiple coils function
615 - Deleted useless code in check_crc16()
616 - Untabify source code
617 - Changed author's email to Stéphane Raimbault
620 libmodbus 1.2.0 (2007-05-10)
621 ============================
623 - FIX Compilation GCC-4.0
624 - Project name in autogen.sh