diff --git a/NEWS b/NEWS index ef1997be4..4a5ccd374 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,33 @@ -libmodbus 3.1.8 (2022-08-17) -============================ +# NEWS + +## libmodbus 3.1.9 (2022-12-03) + +- Remove Travis CI +- Move content about migration to libmodbus.org +- Avoid negative value in FD_SET call +- Test socket against positive value instead of -1 +- Improvements to autotools by @ndim +- Fix doc links by @jordanjohnson56 +- Test the protocol id for 0 by @metapsychologe +- Fix double negative in tests +- New quirks handler (closes #38 #533) +- Fix bitwise OR in documentation +- Improve doc about slave ID in RTU +- Add .clang-format and format code (closes #394) +- Remove constraints on baud rate values +- Accept IP or device in arg of unit test progs +- Avoid compilation issue with VS2022 with strdup +- Display created files in configure.js +- Use strcpy_s under Windows +- Replace inet_addr by inet_pton calls +- Replace inet_ntoa by inet_ptop +- Update configure.ac/config.h.win32 for new inet functions +- Instructions to build libmodbus in a VS project +- Fix connection check for Windows RTU (closes #660, #662) +- Add CIFuzz Github action +- Convert a few int to unsigned int (#402) + +## libmodbus 3.1.8 (2022-08-17) - Major rewrite of documentation with Material for mkdocs - Reduce memory use of TCP PI backend (closes #621) @@ -13,8 +41,7 @@ libmodbus 3.1.8 (2022-08-17) - Fix network library detection on Haiku - Fix typos (closes #620) -libmodbus 3.1.7 (2022-01-09) -============================ +## libmodbus 3.1.7 (2022-01-09) - modbus_reply: fix copy & paste error in sanity check (fixes #614) - Add SECURITY.md (closes #613) @@ -30,23 +57,21 @@ libmodbus 3.1.7 (2022-01-09) - Install the NEWS and AUTHORS files - Update README.md - docs: fix simple typo, reponse -> response -- Add modbus_[get|set]_indication_timeout to doc build +- Add modbus\_[get|set]\_indication_timeout to doc build - Fix warning issues - Move malloc before starting unit tests -- Fixed MODBUS_GET_* macros in case of negative values +- Fixed MODBUS*GET*\* macros in case of negative values - SPDX: change LGPL-2.1+ to LGPL-2.1-or-later Thank you to @yegorich, @i-ky, @jobol, @timgates42, @anton-bondarev, @richardash1981, @stefannilsson, @Zugschlus, @qqq89513 and @mhei. -libmodbus 3.1.6 (2019-07-31) -============================ +## libmodbus 3.1.6 (2019-07-31) - Fix awful typo in fix for VD-1301 vulnerability. - Thank you @karlp. + Thank you @karlp. -libmodbus 3.1.5 (2019-07-29) -============================ +## libmodbus 3.1.5 (2019-07-29) - Fix URL - Add appveyor.com config @@ -80,11 +105,10 @@ libmodbus 3.1.5 (2019-07-29) - Fix LIBMODBUS_VERSION_HEX encoding (closes #345) - tcp_modbus_accept mustn't close socket on error (closes #333) -libmodbus 3.1.4 (2016-05-28) -============================ +## libmodbus 3.1.4 (2016-05-28) - C_PROG_RANLIB is rendered obsolete by LT_INIT -- Improve ifdef around bswap_16 for __CYGWIN__ +- Improve ifdef around bswap_16 for **CYGWIN** - Improve Cygwin support. Thanks to StalderT. - Another round of DRY in modbus_reply() - Rename raw_rep to raw_rsp in unit-test-client @@ -102,34 +126,33 @@ libmodbus 3.1.4 (2016-05-28) - Add unit-tests.sh to tarball - Add ./configure.scan to .gitignore - Move setting of option inside the relevant conditional group -- Add links to new modbus_*_float_* functions in index +- Add links to new modbus*\*\_float*\* functions in index - Slight change to modbus_report_slave_id doc. -libmodbus 3.1.3 (2016-05-11) -============================ +## libmodbus 3.1.3 (2016-05-11) - New bswap macros for Max OSX by Jakob Bysewski. - Fix "wildcard address" in TCP IPv6 by Shoichi Sakane. - Introduce offsets in modbus mappings with modbus_mapping_new_start_address. - Thanks to Michael Heimpold and Stéphane Raimbault. + Thanks to Michael Heimpold and Stéphane Raimbault. - Fix address range in random-test-client. - Thanks to Martin Galvan. + Thanks to Martin Galvan. - Add an option to disable tests compilation by Yegor Yefremov. - Define MSG_DONTWAIT to MSG_NONBLOCK on AIX (#294). - Thanks to Fabrice Cantos. + Thanks to Fabrice Cantos. - Fix building when byteswap.h is not defined by Tomasz Mon. - Add some more macros for data manipulation and documentation. - Remove duplicate install of modbus.h (closes #290). - Thanks to Daniel Sutcliffe. + Thanks to Daniel Sutcliffe. - Move MIGRATION and README.md to dist_doc_DATA target. - Change order of few functions in modbus RTU code. -- Add entries for modbus_rtu_[get|set]_delay in documentation index. +- Add entries for modbus*rtu*[get|set]\_delay in documentation index. - Implemented runtime configurable RTS delay by Jimmy Bergström. - Add an entry in libmodbus index page for modbus_rtu_set_custom_rts. - Add support for user defined RTS toggle function by Jimmy - Bergström. + Bergström. - Added ILLEGAL_DATA_ADDRESS tests for modbus_write_register[|s]. - Thanks to Andrey Skvortsov. + Thanks to Andrey Skvortsov. - Update documentation of modbus_rtu_set_rts - Fix rts signal switch time by Hiromasa Ihara. - Improve new_rtu and set_slave documentation (related to #276). @@ -143,15 +166,14 @@ libmodbus 3.1.3 (2016-05-11) - Do not reply on broadcast requests (fixes #153). Thanks to Michael. - Add Travis support. - Run unit tests with standard: make check (closes #205, closes #238). - This patch has been developed by Andrey Skvortsov, Michael Heimpold - and Stéphane Raimbault. + This patch has been developed by Andrey Skvortsov, Michael Heimpold + and Stéphane Raimbault. - modbus_send_raw_request: limit request length (fixes #207). - Thanks to Hanno Neuer for spotting this security flaw. + Thanks to Hanno Neuer for spotting this security flaw. - Add new contributors to AUTHORS - Introduce SPDX license identifiers. Thanks to Michael Heimpold. -libmodbus 3.1.2 (2015-02-13) -============================ +## libmodbus 3.1.2 (2015-02-13) If you still want to listen any addresses in your TCP IPv4 server, you must now set the IP address to NULL in modbus_new_tcp before listening. Now, @@ -166,45 +188,44 @@ modbus_set_response_timeout to ease writing of language bindings. - Fix timeouts in unit tests - Don't flush on illegal address errors in single write functions - Fix compilation on compilers not supporting c99 mode. - Thanks to Michael Heimpold. + Thanks to Michael Heimpold. - Update license for the tests in Debian packaging (#221) - Move check of device earlier to avoid a free call - Unit test for baud rate check and error message. - Fix crash modbus_new_rtu when baud is 0. - Thank you to Daniel Schürmann. + Thank you to Daniel Schürmann. - Removed function prototype without implementation - Thank you Andrej Skvortzov. + Thank you Andrej Skvortzov. - Switch test programs to a BSD license - Fix remote buffer overflow vulnerability on write requests - Avoid twice connect() in source code (closes #194) - Fix compilation with MinGW (GCC 4.8.1) under Win7 (closes #163) - Thank you MarjanTomas and SwissKnife. + Thank you MarjanTomas and SwissKnife. - Fix TCP IPv4 modbus_connect() on win32 (closes #100 and #165) - Thank you Petr Gladkiy and Marjan Tomas. + Thank you Petr Gladkiy and Marjan Tomas. - Fix 24a05ebd3c0 - win32: init of modbus_tcp_pi_listen (#187) -- INADDR_* macros are defined in host byte order +- INADDR\_\* macros are defined in host byte order - Filter of IP addresses in IPv4 server (closes #190) - Allow to listen any hosts in IPv6 (closes #32) - Define and public export of MODBUS_MAX_PDU_LENGTH (closes #167) - Truncate data from response in report_slave_id to new max arg (closes #167) - Fix response timeout modification on connect (closes #80) - New API to set/get response and byte timeouts. - New unit tests and updated documentation. + New unit tests and updated documentation. - Export Modbus function codes supported by libmodbus - Fix bandwidth-server-one (closes #152) - Check debug flag in RTU code - Remove warnings caused by shadowed 'index' variable. - Thanks to Åke Forslund. + Thanks to Åke Forslund. - Use accept4 in TCP PI if available -- Add documentation for tcp[_pi]_accept (closes #31) +- Add documentation for tcp[_pi]\_accept (closes #31) - Fix mistake in modbus_tcp_listen documentation - Add documentation for modbus_tcp_pi_listen - Fix for MinGW and Windows (#144, #169, #175, #180, #181, #187) - Thanks to Marjan Tomas. + Thanks to Marjan Tomas. - Many other fixes (#134, #157, #158, #183, #184) and improvements. -libmodbus 3.1.1 (2013-10-06) -============================ +## libmodbus 3.1.1 (2013-10-06) More robust to exploits, more compliant and better handling of connect/close sequences. Windows support still broken. @@ -213,9 +234,9 @@ sequences. Windows support still broken. - Fix remote buffer overflow vulnerability (closes #25, #105) - Explain how to define response timeouts when many RTU slaves - Fix receiving of incorrect queries in write_single and mask_write_register - Thanks to James Nutaro. + Thanks to James Nutaro. - Check return value of autoreconf. - Thanks to Lauri Nurmi + Thanks to Lauri Nurmi - Constant for broacast and test ordering - Fix the fix of device string check - Various changes to try to improve *broken* Windows support @@ -226,7 +247,7 @@ sequences. Windows support still broken. - Returns -1 on invalid mode in modbus_rtu_set_rts - Protect all public functions against invalid context - Sleep for delay of response timeout before reconnect (closes #77). - Thanks to Karl Palsson. + Thanks to Karl Palsson. - Baud rate until 4,000,000 (POSIX), 1,000,000 (Windows) (closes #93) - New modbus_get|set_float_dcba to get|set float in inversed byte order - Remove unsupported -Wtype-limits for GCC < 4.3.5 (closes #109) @@ -235,20 +256,20 @@ sequences. Windows support still broken. - Improvement to Debian package. Thanks to Alexander Klauer. - Improve support of VS 2005. Thanks to Petr Gladkiy. - Add documentation for modbus_mask_write_register (closes #91). - Thanks to Martijn de Gouw. + Thanks to Martijn de Gouw. - Avoid C99 declaration in win32 section code (closes #92). - Thanks to oldfaber and endrelovas. + Thanks to oldfaber and endrelovas. - Add a windows scripting host configure file. - Thanks to oldfaber and Stéphane Raimbault. + Thanks to oldfaber and Stéphane Raimbault. - Fix typo in modbus_strerror documentation. Thanks to Mirko Rajkovaca. - Rename reserved C++ keywords of modbus_mask_write_register. - Thanks Tobias Doerffel. + Thanks Tobias Doerffel. - Another quick workaround for deficient OS (closes #63) - Add support for Mask Write Register - Fix missing close on socket in random-test-server. - Thanks to Damian Zieliński. + Thanks to Damian Zieliński. - Use nonblocking sockets on Win32 and OS X/iOS too. - Thanks to Julian Raschke. + Thanks to Julian Raschke. - Fix all compilations warnings spotted by new compilation flags - Major update of build system - Calculate RTS activation time by send length @@ -259,17 +280,16 @@ sequences. Windows support still broken. - Fix wrong constant names to create version number - More compilation fixes for Windows by oldfaber. - Fix wrong constant names to create version number. - Thanks to Denis Davydov. + Thanks to Denis Davydov. -libmodbus 3.1.0 (2012-06-22) -============================ +## libmodbus 3.1.0 (2012-06-22) Major changes to handle many slaves in RTU mode, non blocking connections and RTS flow control. - Fixes for Microsoft Visual C++ compiler - Fixes for Windows. Thanks to oldfaber -- Return value of _modbus_tcp_pi_connect() on failure (closes #61) +- Return value of \_modbus_tcp_pi_connect() on failure (closes #61) - Avoid ioctl call on non-RS485 ports. Thanks to Michael Haberler - Display node and service in PI and port in IPv4 at connection - Return -1 on getaddrinfo error and print error in debug mode @@ -285,159 +305,146 @@ RTS flow control. - Provides a way to disable the byte timeout (Alex Stapleton) - Added slave ID check for response messages (Alex Stapleton) - RTS flow control with modbus_rtu_set_rts and modbus_rtu_get_rts - functions by Torello Querci and Stéphane Raimbault. + functions by Torello Querci and Stéphane Raimbault. -libmodbus 3.0.8 (2019-07-31) -============================ +## libmodbus 3.0.8 (2019-07-31) - Fix awful typo in fix for VD-1301 vulnerability. - Thank you @karlp. + Thank you @karlp. -libmodbus 3.0.7 (2019-07-29) -============================ +## libmodbus 3.0.7 (2019-07-29) - Backport fixes for VD-1301 and VD-1302 vulnerabilities - Move WINVER definition before other includes (closes #350) - Replace signed int by unsigned -libmodbus 3.0.6 (2014-02-21) -============================ +## libmodbus 3.0.6 (2014-02-21) - Backport fix remote buffer overflow vulnerability on write requests - Replace deprecated INCLUDES by AM_CPPFLAGS -libmodbus 3.0.5 (2013-10-06) -============================ +## libmodbus 3.0.5 (2013-10-06) - Fix remote buffer overflow vulnerability - Fix receiving of incorrect queries in write_single -libmodbus 3.0.4 (2012-05-08) -============================ +## libmodbus 3.0.4 (2012-05-08) - autogen.sh creates symlinks instead of copies - Add missing m4 directory (closes #103) - Fix alignment problem on ARMv5 platform - Thanks to Alexander Dahl + Thanks to Alexander Dahl - Remove useless test on error_recovery argument - Thanks to Carlos Tangerino + Thanks to Carlos Tangerino -libmodbus 3.0.3 (2012-05-25) -============================ +## libmodbus 3.0.3 (2012-05-25) - Fix another Visual C++ 2008/2010 deficiency (closes #53) - Add -lsocket to compile on QNX - Fix TCP PI init under Windows. - Thanks to oldfaber. + Thanks to oldfaber. - Fix a missing free in random-test-client - Thanks again to Stefan Finzel. + Thanks again to Stefan Finzel. - Fix OMG bug in modbus_mapping_free not freeing memory. - Thanks to Stefan Finzel for the bug report. + Thanks to Stefan Finzel for the bug report. - Fix semicolon typo and unistd.h include under Windows. - Thanks to Andrew Kravchuk. + Thanks to Andrew Kravchuk. -libmodbus 3.0.2 (2012-01-16) -============================ +## libmodbus 3.0.2 (2012-01-16) - Update Debian package - Documentation fixes and additions - Add missing C++ macros in public headers. - Thanks to Bernhard Agthe. + Thanks to Bernhard Agthe. - Protects modbus_mapping_free against NULL argument. - Thanks to Andrea Mattia + Thanks to Andrea Mattia - Fix check on file doc/libmodbus.7 in acinclude.m4 (closes #28) - Close file descriptor when the settings don't apply in RTU. - Original patch provided by Thomas Stalder. + Original patch provided by Thomas Stalder. - unit-test.h is now generated to avoid config.h dependency. - Request for Windows Sockets specification version 2.2 instead of 2.0 - Thanks to Pavel Mazniker for the report. + Thanks to Pavel Mazniker for the report. -libmodbus 3.0.1 (2011-07-18) -============================ +## libmodbus 3.0.1 (2011-07-18) - Avoid useless serial_mode integer when TIOCSRS485 isn't supported - Fix compilation failure on Windows (RS485 support) by Tobias Doerffel - + - Properly check TIOCSRS485 define by Matthijs Kool - Rename package to libmodbus5 to fix lintian warning -libmodbus 3.0.0 (2011-07-11) -============================ +## libmodbus 3.0.0 (2011-07-11) - Revert libmodbus licence from LGPLv3 to LGPLv2.1 to avoid - incompatibility with GPLv2 program. This change has been approved - by Tobias Doerffel, Florian octo Forster and Hannu Vuolasaho. + incompatibility with GPLv2 program. This change has been approved + by Tobias Doerffel, Florian octo Forster and Hannu Vuolasaho. - Enable RS485 support only when available - Export modbus_set/get_serial_mode functions on all platforms - API change for read/write multiple registers function: - * modbus_read_and_write_registers -> modbus_write_and_read_registers - The function name was confusing because the write operation is performed - before the read. Take care to swap the arguments in the migration process. -- Documentation of modbus_write_and_read_registers, modbus_mapping_new/free, - report_slave_id. modbus_get_byte_from_bits, modbus_set_bits_from_byte(s), - modbus_[gs]et_float, modbus_reply and modbus_reply_exception. + - modbus_read_and_write_registers -> modbus_write_and_read_registers + The function name was confusing because the write operation is performed + before the read. Take care to swap the arguments in the migration process. +- Documentation of modbus*write_and_read_registers, modbus_mapping_new/free, + report_slave_id. modbus_get_byte_from_bits, modbus_set_bits_from_byte(s), + modbus*[gs]et_float, modbus_reply and modbus_reply_exception. - Enhanced report slave ID - New RPM spec file to package documentation and development files -libmodbus 2.9.4 (2011-06-05) -============================ +## libmodbus 2.9.4 (2011-06-05) - IPv6 support - Make the TCP implementation "protocol independent" by Florian Forster - and Stéphane Raimbault. + Make the TCP implementation "protocol independent" by Florian Forster + and Stéphane Raimbault. - Fix compilation on Windows 7 (x64) with MinGW/MSYS and GCC 4.5 - Reported by Patsy Kaye. + Reported by Patsy Kaye. - Documentation of libmodbus functions with AsciiDoc (man and HTML) by Stéphane - Raimbault + Raimbault - Avoid an iteration in flush function - New functions to send and receive raw requests (modbus_send_raw_request, - modbus_receive_confirmation) + modbus_receive_confirmation) - Fix flush function of TCP backend on Windows - API changes for server/slave: - * modbus_receive doesn't take socket/fd argument anymore - * new function modbus_set_socket to set socket/fd + - modbus_receive doesn't take socket/fd argument anymore + - new function modbus_set_socket to set socket/fd - API changes for timeout functions: - * modbus_get_timeout_begin -> modbus_get_response_timeout - * modbus_set_timeout_begin -> modbus_set_response_timeout - * modbus_get_timeout_end -> modbus_get_byte_timeout - * modbus_set_timeout_end -> modbus_set_byte_timeout + - modbus_get_timeout_begin -> modbus_get_response_timeout + - modbus_set_timeout_begin -> modbus_set_response_timeout + - modbus_get_timeout_end -> modbus_get_byte_timeout + - modbus_set_timeout_end -> modbus_set_byte_timeout - Fix longstanding limitation of server to wait forever - New functions modbus_set/get_serial_mode by Manfred Gruber and Stéphane - Raimbault for RS485 communications + Raimbault for RS485 communications - Improved recovery mode (see modbus_set_error_recovery documentation) for - data link and protocol errors. + data link and protocol errors. - Fix compilation issue with Microsoft Visual Studio 2008. - Reported by Allan Cornet. + Reported by Allan Cornet. -libmodbus 2.9.3 (2011-01-14) -============================ +## libmodbus 2.9.3 (2011-01-14) - Major rewriting of the message reading (no more timeouts on exception) - by Stéphane Raimbault + by Stéphane Raimbault - New function to reply to an indication with an exception message - modbus_reply_exception() -- New function modbus_get_header_length(modbus_t *ctx) + modbus_reply_exception() +- New function modbus_get_header_length(modbus_t \*ctx) - New functions to manipulate data: - * MODBUS_GET_INT32_FROM_INT16 - * MODBUS_GET_INT16_FROM_INT8 - * MODBUS_SET_INT16_TO_INT8 -- Fix GH-2. Read/write were swapped in _FC_READ_AND_WRITE_REGISTERS -- Install an ignore handler for SIGPIPE on *BSD - Original patch by Jason Oster. + - MODBUS_GET_INT32_FROM_INT16 + - MODBUS_GET_INT16_FROM_INT8 + - MODBUS_SET_INT16_TO_INT8 +- Fix GH-2. Read/write were swapped in \_FC_READ_AND_WRITE_REGISTERS +- Install an ignore handler for SIGPIPE on \*BSD + Original patch by Jason Oster. - Fix closing of Win32 socket. - Reported by Petr Parýzek. + Reported by Petr Parýzek. - Fix unit identifier not copied by the TCP server. - Reported by Antti Manninen. + Reported by Antti Manninen. - Fix missing modbus_flush() in unit tests - Fixes for OpenBSD by Barry Grumbine and Jason Oster - -libmodbus 2.9.2 (2010-12-05) -============================ +## libmodbus 2.9.2 (2010-12-05) - Win32 support by Tobias Doerffel - Split source code around RTU and TCP (backends) -- Rename modbus_[listen|accept] to modbus_tcp_[listen|accept] +- Rename modbus*[listen|accept] to modbus_tcp*[listen|accept] - Remove slave argument from modbus_new_rtu() - Check received function code - Fix segfault in bandwidth-server-many-up on inet_ntoa() call @@ -446,9 +453,7 @@ libmodbus 2.9.2 (2010-12-05) - Correctly detect if we are cross-compiling for win32 by Kirill Smelkov. - Fix setting of the broadcast address - -libmodbus 2.9.1 (2010-08-16) -============================ +## libmodbus 2.9.1 (2010-08-16) - Brand new API (see MIGRATION notes)! - Remove the internal function set_message_length_tcp @@ -459,20 +464,18 @@ libmodbus 2.9.1 (2010-08-16) - OpenBSD support by Anibal Limón. - New read and write registers function by Hannu Vuolasaho. - Versioning infrastructure - Inspired by the Clutter project and the work done by Florian Forster. + Inspired by the Clutter project and the work done by Florian Forster. - Fix the broadcast constant (255 -> 0) - Reported by David Olivari. + Reported by David Olivari. - Fix #463299 - New functions to define the timeouts of begin and end of trame - Original patch by Sisyph (eric-paul). + Original patch by Sisyph (eric-paul). - Fix #591142 - Slave id check should be disabled in TCP connection - Reported by aladdinwu. - + Reported by aladdinwu. -libmodbus 2.1.0 (2010-03-24) -============================ +## libmodbus 2.1.0 (2010-03-24) - New API to read and write float values by Stéphane Raimbault and Florian - Forster. + Forster. - New API for slave server (see MIGRATION) - New slave server able to handle multiple connections - Slave only replies to broadcast queries or queries with its slave ID @@ -481,76 +484,69 @@ libmodbus 2.1.0 (2010-03-24) - Better error management and SIGPIPE signal is blocked - Faster - Fix #333455 - Cygwin IPTOS_LOWDELAY not supported on cygwin - Reported by Jeff Laughlin and Yishin Li. + Reported by Jeff Laughlin and Yishin Li. - Fix #375926 - modbus.c:164: error: `MSG_DONTWAIT' undeclared - Reported and tested by Yishin Li. + Reported and tested by Yishin Li. - Fix #378981 - CRC error on RTU response doesn't return negative value - Reported by Henrik Munktell. + Reported by Henrik Munktell. - Fix report slave ID request - Patch (bzr) provided by Paul Fertser. + Patch (bzr) provided by Paul Fertser. - Fix #425604 - Conditional jump or move depends on uninitialised value(s) - Occurs on first occurrence of slave timeout. - Reported by Henrik Munktell. + Occurs on first occurrence of slave timeout. + Reported by Henrik Munktell. - Fix #457200 - FreeBSD support - Patch provided by Norbert Koch. + Patch provided by Norbert Koch. Other changes: - The code is now published and developed on - http://github.com/stephane/libmodbus + - Waf support has been removed - -libmodbus 2.0.3 (2009-03-22) -============================ +## libmodbus 2.0.3 (2009-03-22) - Fix CRC error when a slave RTU send a response. - Thanks to Justin Carroll to have reported and tested my patch. + Thanks to Justin Carroll to have reported and tested my patch. - Remove an assignment in compute_response_length() - Remove duplicate counter in read_io_status() - Fix #274511 reported by 'Kylesch' - Invalid error check in modbus_init_listen_tcp + Invalid error check in modbus_init_listen_tcp +## libmodbus 2.0.2 (2008-08-10) -libmodbus 2.0.2 (2008-08-10) -============================ - Fix a bug reported by email by Davide Pippa - The function modbus_receive must check the number of values - indicated in the response accordingly to the query. + The function modbus_receive must check the number of values + indicated in the response accordingly to the query. - Fix #241006 reported by Jesus Hernandez Tapia - modbus_check_response() crashes on an invalid exception code + modbus_check_response() crashes on an invalid exception code - Reduce the number of function calls (read_reg_response and - preset_response have been removed) + preset_response have been removed) - Add a new unit test for bad response - Catch the timeout even if the length is equal to a exception trame - Test only msg_length_computed on change - Many comments and cleanups - -libmodbus 2.0.1 (2008-07-02) -============================ +## libmodbus 2.0.1 (2008-07-02) - Include libmodbus.spec in the tarball - Fix #241006 reported by Jesus Hernandez Tapia - modbus_check_response() crashes on an invalid exception code - + modbus_check_response() crashes on an invalid exception code -libmodbus 2.0.0 (2008-05-18) -============================ +## libmodbus 2.0.0 (2008-05-18) - Slave API - https://blueprints.launchpad.net/libmodbus/+spec/slave-api + - No more glib dependency - https://blueprints.launchpad.net/libmodbus/+spec/glib-dependency + - Unit testing and many test programs - Waf build support - https://blueprints.launchpad.net/libmodbus/+spec/waf-support + - MacOS X support by Matthew Butch - https://blueprints.launchpad.net/libmodbus/+spec/macosx-support + - Unit testing (unit-test-slave and unit-test-master) - Port number is now defined at initialisation by Dirk Reusch -- Better memory management (uint8_t *data and packing of - modbus_param_t) +- Better memory management (uint8_t \*data and packing of + modbus_param_t) - Better error management - Declare many static functions and const arrays - Enhance an integer division @@ -558,67 +554,55 @@ libmodbus 2.0.0 (2008-05-18) - Debian and RPM packages (#224496) - Many cleanups - Fix #159443 reported by Stefan Bisanz - Index of incoming data in force multiple coils function + Index of incoming data in force multiple coils function - Fix #161989 reported by Konstantinos Togias - Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't - fit to modbus_param_t -> device char[11] var. + Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't + fit to modbus_param_t -> device char[11] var. - Fix #188189 reported by Chris Hellyar - Compute_response_size() no entry for read_input_status() + Compute_response_size() no entry for read_input_status() - Fix #191039 reported by Todd Denniston - modbus.h is not installed at prefix. + modbus.h is not installed at prefix. - Fix #211460 reported by Todd Denniston - With TCP, automatic reconnect on error may not be desired. + With TCP, automatic reconnect on error may not be desired. - Fix #224485 reported by Todd Denniston - libmodbus does not link with c++ code. + libmodbus does not link with c++ code. - Fix #224496 reported by Todd Denniston - It is easier to install on rpm based systems with a spec file. + It is easier to install on rpm based systems with a spec file. - -libmodbus 1.2.5 (2008-05-18) -============================ +## libmodbus 1.2.5 (2008-05-18) - Fix #224485 reported by Todd Denniston - libmodbus does not link with c++ code. - + libmodbus does not link with c++ code. -libmodbus 1.2.4 (2008-03-14) -============================ +## libmodbus 1.2.4 (2008-03-14) - Fix #191039 reported by Todd Denniston - modbus.h is not installed at prefix. - + modbus.h is not installed at prefix. -libmodbus 1.2.3 (2008-02-03) -============================ +## libmodbus 1.2.3 (2008-02-03) - Fix #188189 reported by Chris Hellyar - Compute_response_size() no entry for read_input_status() + Compute_response_size() no entry for read_input_status() - Fix #181887 reported by Jesus Hernandez Tapia. - Slave address in build_request_packet_tcp() is hardcoded as 0xFF. + Slave address in build_request_packet_tcp() is hardcoded as 0xFF. - -libmodbus 1.2.2 (2007-11-12) -============================ +## libmodbus 1.2.2 (2007-11-12) - Fix #161989 reported by Konstantinos Togias - Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't - fit to modbus_param_t -> device char[11] var. + Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don't + fit to modbus_param_t -> device char[11] var. - Structure is also bit better 'packed' to conserve memory (see the - trunk for a real enhancement). - + trunk for a real enhancement). -libmodbus 1.2.1 (2007-11-02) -============================ +## libmodbus 1.2.1 (2007-11-02) - Fix #159443 reported by Stefan Bisanz - Index of incoming data in force multiple coils function + Index of incoming data in force multiple coils function - Deleted useless code in check_crc16() - Untabify source code - Changed author's email to Stéphane Raimbault - -libmodbus 1.2.0 (2007-05-10) -============================ +## libmodbus 1.2.0 (2007-05-10) - FIX Compilation GCC-4.0 - Project name in autogen.sh diff --git a/configure.ac b/configure.ac index 5510c0217..7807c0eaf 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ # m4_define([libmodbus_version_major], [3]) m4_define([libmodbus_version_minor], [1]) -m4_define([libmodbus_version_micro], [8]) +m4_define([libmodbus_version_micro], [9]) m4_define([libmodbus_release_status], [m4_if(m4_eval(libmodbus_version_minor % 2), [1], [snapshot], [release])])