Skip to content

Release v4.0.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 09:23

[4.0.0] - 2024-04-17

Based on

This major version was developed starting from revision 3.2.0, incorporating all changes and improvements up to that point along with the new features and fixes in this release.

Breaking changes:

  • Over The Air update flow changed
    • setFirmwareUrlUpdateCallback(firmwareUrlUpdateCallback *firmwareUrl) was replaced by setOtaUpdateCallback(otaUpdateCallback *updateCb);
    • otaUpdateCallback takes only url and crc as parameters, user must return 0 if no error occurs, else an error code != 0
    • user must call setOtaUpdateDone at the end of the ota process, with parameter = 0 if ota was succefull, or an error code != 0
  • Trackle get callbacks now must return values instead of pointers
  • Trackle post and get callbacks now take function name and variable name as last parameter

New Features

  • better publish handling
  • add components name and version to describe
  • better describe, check get and post len
  • updated Connection_Type, added lpwa
  • automatic generation of version.h file in release archive
  • add setImei and setIccid, send with describe
  • ota handles jobid, cb only get url and crc
  • return post and get key to callback

Bugfixes

  • add token to all publish messages
  • wrong block index check
  • can’t publish system event from firmware
  • syncState is WITH_ACK
  • evaluate “iotready” as system event name
  • blockwise message without ack index
  • allow system event for ota
  • wrong disconnection on unacked packet
  • Move a temporary object prevents copy elision
  • component list not sent in describe
  • imports in test
  • ota message to cloud for developer ota
  • wrong dtls_prng signature
  • update connection status before call callback
  • wrong connectionStatusCb update

Refactors

  • better test and example organization
  • better warning log on message publish
  • removed unused code
  • fix code layout and logs level
  • updated to use protocol_defs const
  • new queue msg type for better error msgs
  • change typedef for post
  • removed setSleepCallback from examples

Documentation Changes

  • updated method description
  • updated doc on setMillis callback
  • test cases result badge
  • fixed test badge
  • fixed test badge to target version specific one
  • better online doxygen generation

Tests

  • working test suite
  • single retransmission test case
  • test cases for ota updates
  • test cases for ota update
  • test cases for failing ota updates
  • automated tests workflow
  • specified branch in name
  • specified branch in filename
  • fixed version of sseclient lib
  • added publish test case
  • increased queue messages wait time
  • made test more verbose
  • made tests less verbose
  • update tests

Chores

  • updated examples
  • brought tests to develop branch
  • updated c example
  • removed outdated tests
  • changed returned types of get functions from ptrs to values
  • add -dev to lib version, removed on release
  • add complete net access technologies list
  • wrong log level in describe
  • reset some diagnostics on disconnect
  • updated posix examples
  • update cpp posix example
  • updated version

Devops

  • added github action for release to branch
  • update create_release_with_submodules.yml

Assets description:

  • trackle-library-cpp-v4.0.0.tar.gz: contains the complete sources of the project, along with required submodules.
  • Source code (zip) and Source code (tar.gz): archives generated automatically by GitHub, without submodules.