libmodbus 2.9.3 (2011-01-14)
============================

- Major rewriting of the message reading (no more timeouts on exception)
  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)
- 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.
- Fix closing of Win32 socket.
  Reported by Petr Parýzek.
- Fix unit identifier not copied by the TCP server.
  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)
============================

- Win32 support by Tobias Doerffel
- Split source code around RTU and TCP (backends)
- 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
- Fix unit test of report slave ID in RTU
- Fix GH-3. Remove inclusion of config.h in modbus.h
- 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)
============================

- Brand new API (see MIGRATION notes)!
- Remove the internal function set_message_length_tcp
- Restore slave ID (server ID) argument in functions
- Error conventions of POSIX systems and error recover
- Parity setting is now a single char ('N', 'E' or 'O')
- Report slave ID server side
- 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.
- Fix the broadcast constant (255 -> 0)
  Reported by David Olivari.
- Fix #463299 - New functions to define the timeouts of begin and end of trame
  Original patch by Sisyph (eric-paul).
- Fix #591142 - Slave id check should be disabled in TCP connection
  Reported by aladdinwu.

libmodbus 2.1.0 (2010-03-24)
============================

- New API to read and write float values by Stéphane Raimbault and Florian
  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
- Improved Modbus protocol conformance
- modbus_param_t is smaller (2 int removed)
- 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.
- Fix #375926 - modbus.c:164: error: `MSG_DONTWAIT' undeclared
  Reported and tested by Yishin Li.
- Fix #378981 - CRC error on RTU response doesn't return negative value
  Reported by Henrik Munktell.
- Fix report slave ID request
  Patch (bzr) provided by Paul Fertser.
- Fix #425604 - Conditional jump or move depends on uninitialised value(s)
  Occurs on first occurence of slave timeout.
  Reported by Henrik Munktell.
- Fix #457200 - FreeBSD support
  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)
============================
- Fix CRC error when a slave RTU send a response.
  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

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.
- Fix #241006 reported by Jesus Hernandez Tapia
  modbus_check_response() crashes on an invalid exception code
- Reduce the number of function calls (read_reg_response and
  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)
============================
- Include libmodbus.spec in the tarball
- Fix #241006 reported by Jesus Hernandez Tapia
  modbus_check_response() crashes on an invalid exception code

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 error management
- Declare many static functions and const arrays
- Enhance an integer division
- The GNU licences LGPL and GPL are in version 3
- Debian and RPM packages (#224496)
- Many cleanups
- Fix #159443 reported by Stefan Bisanz
  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.
- Fix #188189 reported by Chris Hellyar
  Compute_response_size() no entry for read_input_status()
- Fix #191039 reported by Todd Denniston
  modbus.h is not installed at prefix.
- Fix #211460 reported by Todd Denniston
  With TCP, automatic reconnect on error may not be desired.
- Fix #224485 reported by Todd Denniston
  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.

libmodbus 1.2.5 (2008-05-18)
============================
- Fix #224485 reported by Todd Denniston
  libmodbus does not link with c++ code.

libmodbus 1.2.4 (2008-03-14)
============================
- Fix #191039 reported by Todd Denniston
  modbus.h is not installed at prefix.

libmodbus 1.2.3 (2008-02-03)
============================
- Fix #188189 reported by Chris Hellyar
  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.

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.
- Structure is also bit better 'packed' to conserve memory (see the
  trunk for a real enhancement).

libmodbus 1.2.1 (2007-11-02)
============================
- Fix #159443 reported by Stefan Bisanz
  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)
============================
- FIX Compilation GCC-4.0
- Project name in autogen.sh
