Skip to content

Releases: Jacajack/liblightmodbus

liblightmodbus v3.0

30 Aug 22:52
e7be88b
Compare
Choose a tag to compare

GitHub Build Status Coveralls branch Donate

The biggest and the most important release so far. Majority of the source code has been rewritten from scratch. The library is header-only now, which makes it much easier to compile on different exotic platforms. Although features included in this release break backwards compatibility with v2.0 and require changes to be made in user code, upgrading to v3.0 is highly recommended due to the number of improvements.

Changes:

  • The library is header-only now. The old build system based on CMake is no longer necessary.
  • Very significantly reduced binary size (~16kB (v2.0), -> ~7.3kB (v3.0))
  • Significantly improved code structure, maintainability and performance
  • Alignment safety no longer relies on compiler attributes (__attribute__((packed)) is 'broken' on XC16 compilers)
  • Replaced inttypes.h with stdint.h
  • All register operations are now done through register callback functions.
  • All data is received with a data callback on master side now.
  • Added support for Modbus TCP
  • Added setters/getters for ModbusMaster and ModbusSlave structure members
  • Added support for custom allocators. This mechanism can be used to replace old LIGHTMODBUS_STATICMEM*
  • Added a new CMake config which allows liblightmodbus to be used a CMake package
  • Added a (very) experimental C++ API
  • Added a ModbusBuffer type for holding and managing allocated frames
  • Added some debug utilities
  • Created a separate repository for ESP-IDF component files
  • Integrated with GitHub actions
  • Removed the examine addon
  • Improved error handling
  • Types are now consistently named with PascalCase
  • Renamed many functions and type names
  • Dropped support for Launchpad
  • Prettier docs, thanks to https://github.com/jothepro/doxygen-awesome-css

Docs for this release: https://jacajack.github.io/liblightmodbus/index.html
Information about porting code from v2.0 to v3.0: https://jacajack.github.io/liblightmodbus/porting.html

liblightmodbus v3.0-rc2

06 Aug 16:49
8eb4d96
Compare
Choose a tag to compare
Pre-release

GitHub Build Status Coveralls branchDonate

THIS IS A RELEASE CANDIDATE 2

The biggest and the most important release so far. Majority of the source code has been rewritten from scratch. The library is header-only now, which makes it much easier to compile on different exotic platforms. Although features included in this release break backwards compatibility with v2.0 and hence require changes to be made in user code, upgrading to v3.0 is highly recommended due to the number of improvements.

Changes:

  • The library is header-only now. The old build system based on CMake is no longer necessary.
  • Very significantly reduced binary size (on AVR full v2.0: ~1600b, full v3.0: ~7300b)
  • Significantly improved code structure, maintainability and performance
  • Alignment safety no longer relies on compiler attributes (__attribute__((packed)) is 'broken' on XC16 compilers)
  • Replaced inttypes.h with stdint.h
  • All register operations are now done through register callback functions.
  • All data is received with a data callback on master side now.
  • Added support for Modbus TCP
  • Added setters/getters for ModbusMaster and ModbusSlave structure members
  • Added support for custom allocators. This mechanism can be used to replace old LIGHTMODBUS_STATICMEM*
  • Added a new CMake config which allows liblightmodbus to be used a CMake package
  • Added a (very) experimental C++ API
  • Added a ModbusBuffer type for holding and managing allocated frames
  • Added some debug utilities
  • Created a separate repository for ESP-IDF component files
  • Integrated with GitHub actions
  • Removed the examine addon
  • Improved error handling
  • Types are now consistently named with PascalCase
  • Renamed many functions and type names
  • Dropped support for Launchpad
  • Prettier docs, thanks to https://github.com/jothepro/doxygen-awesome-css

Docs for this release: https://jacajack.github.io/liblightmodbus/v3.0/index.html
Information about porting code from v2.0 to v3.0: https://jacajack.github.io/liblightmodbus/v3.0/porting.html

liblightmodbus v2.0

31 Aug 17:42
7cb03f5
Compare
Choose a tag to compare

The GPL license Travis CI Coveralls

Changes:

  • Start of semantic versioning era (this would have been version 1.4)
  • Documentation is now generated by Doxygen, and available online
  • Replaced the shell+makefile build system with CMake
  • Added support for user-defined functions
  • Added support for user register/coil callback functions
  • Improved the error handling system
  • Replaced #define based types with proper enums
  • Add option to disable master's processed data buffer
  • Add option to enable invasive response parsing in master device
  • Macro based wrapper functions replaced with static inline functions
  • Endianness handling improvements

PPA is available here.

liblightmodbus 1.3

27 Dec 21:05
Compare
Choose a tag to compare

The GPL license Travis CI Coveralls

Changes:

  • Fixed few critical bugs
  • Added function 22
  • Added write protection for coils
  • Changed some variable names
  • Added new macros instead of enums
  • Dynamic memory allocation can be now disabled
  • Library can be now built on big-endian machine
  • Added script for configuring build
  • Added tons of new security checks
  • Input frames are now guaranteed to maintain unchanged during parsing
  • Optimized CRC calls and other checks
  • Added numerous null pointer checks
  • Tidied up the status structures
  • Removed unnecessary typedefs
  • Slight changes in the way memory is allocated
  • Only desired Modbus can be included in customized build
  • Removed AVR build-helper
  • Static library file for AVR is now generated automatically
  • Added license headers to files
  • Markdown and roff files are now separated

PPA is available here.

This release has been tested using Valgrind for memory leaks, and none were found. By the way, please keep in mind, that releases do not include packaging information!

liblightmodbus 1.2

04 Aug 20:48
Compare
Choose a tag to compare

The MIT License Travis CI Coveralls

🎉 Major update! Liblightmodbus v1.2 is here! 🎉

This release includes:

  • New function and type names
  • No more global variables
  • Manpages and markdown documentation
  • Fixed makefiles
  • More verbose function prototypes
  • Improved error management
  • Improved header file management

PPA is available here.

This release has been tested using Valgrind for memory leaks, and none were found. By the way, please keep in mind, that releases do not include packaging information!

liblightmodbus 1.1

11 May 13:44
Compare
Choose a tag to compare
liblightmodbus 1.1 Pre-release
Pre-release

The MIT License Travis CI Coveralls

Since this moment Modlib is now known as liblightmodbus. This is first release under this name. There were only minor improvements made since v1.0

This release includes:

  • Holding registers support
  • Coils support
  • Discrete inputs support
  • Input registers support
  • Full errors and exceptions management
  • Python creator, to make compilation for AVR easier
  • New functions for library un-init, and other minor changes
  • Launchpad PPA and project

This release has been tested using Valgrind for memory leaks, and none were found.

Modlib 1.0

04 May 16:50
Compare
Choose a tag to compare
Modlib 1.0 Pre-release
Pre-release

The MIT License Travis CI Coveralls

🎉 This is first full version release of Modlib! 🎉

This release includes:

  • Holding registers support
  • Coils support
  • Discrete inputs support
  • Input registers support
  • Full errors and exceptions management
  • Python creator, to make compilation for AVR easier
  • Launchpad PPA

This release has been tested using Valgrind for memory leaks, and none were found.

Beta 0.8

27 Apr 19:34
Compare
Choose a tag to compare
Beta 0.8 Pre-release
Pre-release

The MIT License Travis CI Coveralls

This is probably pre-final release! 😄

This release includes:

  • Holding registers support
  • Coils support
  • Discrete inputs support
  • Input registers support
  • Minor optimizations and improvements

So, well this is basically what full version is planned to include.

Before v1.0 few things have to be improved:

  • Makefile
  • Wiki
  • Code may be optimized in some places
  • Library needs a little bit more of real testing
  • Check for memory leaks and bugs
  • Probably *.deb packages will be introduced (Well, they are here, but I do not guarantee them to work properly)

Beta 0.7

27 Apr 17:37
Compare
Choose a tag to compare
Beta 0.7 Pre-release
Pre-release

The MIT License Travis CI Coveralls

We're getting there! 😄

This release introduces:

  • Discrete inputs support
  • Minor optimizations

For sure, coils module is self compatible, but it hasn't been tested with any real Modbus device yet. 😢

Beta 0.6

27 Apr 13:31
Compare
Choose a tag to compare
Beta 0.6 Pre-release
Pre-release

The MIT License Travis CI Coveralls

Milestone release, halfway there! 🏁
(despite fact this is release 0.6, not 0.5 😝 )

This release includes:

  • Coils support
  • New makefile architecture
  • Minor optimizations

For sure, coils module is self compatible, but it hasn't been tested with any real Modbus device yet. 😢