Skip to content

Releases: mtconnect/cppagent

Version v2.2.0.11

21 Oct 06:15
d3eec2c
Compare
Choose a tag to compare

What's Changed

This is an important release since race conditions were observed

  • In Mqtt1Service, fixed condition state in observations
  • Added Heartbeat config param to override the heartbeat in the * PONG ... command
  • Fixed race condition under high load between REST and MQTT
  • Fixed file cache race condition
  • Cleaned up Dockerfiles in the docker and demo with mtconnect/agent:latest as the foundation image
  • Reduced image size for demo and builds

Version v2.2.0.10

19 Oct 23:02
cd0abd5
Compare
Choose a tag to compare

New Features

  • Added MQTT compose demo to demonstrate how to compose MTConnect, twin demo, and MQTT. (see demo directory).
  • Some additions to the README for HttpHeaders and reorganized the content.
  • Added gallons per minute conversion to liters per second
  • Added documentation to the tests.

Bug Fixes

  • Fixed conan build to check for usable cmake in the OS for cross-platform docker builds.
  • Fixed bug in streaming when it falls behind or is out of range for samples.
  • Updated schema files from schemas repo.

Version v2.2.0.9

18 Oct 00:02
777f4de
Compare
Choose a tag to compare

Bug Fix Release

  • Fixed agent device uuid by @wsobel in #341
  • Added DeviceTopic as an alias for ProbeTopic for mqtt sinks by @wsobel in #346

Full Changelog: v2.2.0.8...v2.2.0.9

Version 2.2.0.8

06 Oct 23:19
4c982e3
Compare
Choose a tag to compare

Patch Bug Fix

  • Fixes an issue during the initial sample request with an interval where overlapping observations were delivered.

Version 2.2.0.7

01 Oct 15:15
e65463d
Compare
Choose a tag to compare

New Features

  • New Beta MQTT sink for publishing to an MQTT Broker: Mqtt2Service
    • Does not create a topic per data item, only four topics are used per device
    • Rational: MTConnect rates were too fast for broker and exceeded number of in-flight messages. This solves the issue.
      • Probe, Current, Sample and Assets (similar to the REST api)
        • Probe - Provides the Device definition for a given device
        • Current - Provides a snapshot of all the data items at a fixed interval (default every 10 seconds)
        • Sample - Time series deltas published on changes at a minimum interval (default every 500ms)
        • Assets - One topic per asset document organized by device
      • Review readme for configuration options.

Bug Fixes

  • Fixed Period Filter where in an edge case it would publish an additional observation not on period boundaries.

Internal Changes

  • Created an AsyncObserver for the REST and MQTT 2 Sinks. The class allows Sinks to monitor a set of data items for change and only activate asynchronously when something happens. Keeps track of sequence numbers while waiting so recipient knows where to continue from.

Version 2.2.0.6

05 Sep 03:00
29e05b9
Compare
Choose a tag to compare
  • Moved Dockerfiles for demo to demo directory and added demo/compose example

  • Made CMake package installation compliant with *NIX platforms

  • Refactored docker files with docker directory structure.

    • Uses the following volumes for configuration

      /mtconnect/config
      /mtconnect/data
      /mtconnect/log
      
    • Added documentation to demo and docker directories.

    • Added replicator container docker/replicator to replicate another MTConnect agent.

  • Updated twin demo to support json v2

  • Added support in agent adapter for multiple devices

  • Added configuration AgentDeviceUUID to supply UUID of Agent Device externally

  • Added GID and UID docker build arguments to override default group and user ids

  • Fixed MqttUserName and MqttPassword configuration variables.

      MqttUserName = username
      MqttPassword = password
    

Version 2.2.0.5

18 Aug 17:43
e01c138
Compare
Choose a tag to compare

The following changes were made to version 2.2.0.5:

  • Revised Dockerfiles to support Conan 2
    • Revised configuration and packaging to be more *NIX friendly
    • Added WITH_TESTS build-arg to run unit tests after builds
    • Added support for environment variables in the configuration files.
      • Format is: Host=$HOST_NAME or Host=${HOST_NAME}
      • See the demo/agent/agent.doc for a path example
  • Improved packaging with new cpack_... options in the conanfile.py
  • Upgraded to boost to version 1.82

Version 2.2.0.4

12 Aug 10:11
Compare
Choose a tag to compare
  • There are no new features; this release implemented automated build and release.
    • To review the build process, see .github/workflows/build.yml
    • Build time reduced from 3-5 hours to 40 minutes for cached builds.
    • Releases are now automated.
  • The Dockerfile has been updated for version conan 2.
    • More work to come on the Docker support for the Agent.
  • The following changes were made to the build system:
    • Moved the test directory to test_package to conform with conan best practices
    • Documented canan options, settings, and configurations relevant to the build in the README.md
    • Updated the build instructions in the README.md
    • Began packaging changes in CMakeLists.txt for *NIX platforms.
  • Appveyor support has been discontinued.

Version 2.2.0.3

24 Jul 21:57
eb1ce84
Compare
Choose a tag to compare

Version 2.2

  • Official reference implementation of the MTConnect Agent version 2.2
  • Added workflows for GitHub Actions moving to CI/CD

Change Log

Version 2.2.0.1 major changes

  • All 2.2 changes in the information model
  • Added dynamic changes to the device XML configuration from adapters and upstream agents
  • Additional conan2 changes for the build environment
  • Swagger documentation from the agent (/swagger)
  • Updated JSON document generation

Version 2.2.0.1 Release Candidate 4

  • Changed pipeline to use std::move instead of copy-on-write. The semantics allow for greater performance in the transforms.
  • Fixed issues when building on Raspberry Pi 32 bit ARM architecture
  • Allow device models to be delivered by adapters (sources) and automatically version Device.xml file in config.
    • VersionDeviceXml: Automatically create backup files whenever the Device set changes
    • CreateUniqueIds: Create a unique id for all elements in the Device file.
      • Rewrite all id references to point to the new id
      • Persist the original ids for secondary lookup for adapter consistency. (Gets written to the Device.xml)
  • Fixed mqtt tests because of timing issue.
  • Many other small fixes.

Version 2.2.0.1 Release Candidate 3

  • Add MTConnect 2.2 support for the following features:
    • Added hash for Assets and Devices
    • Added ImageFiles for Configuration
    • Added ComponentConfigurationParameters Asset
    • Added uuid support for CoordinateSystems
  • Added Swagger json API for Agent
    • Path is /swagger and optional query parameter pretty to format JSON
  • Changed json serialization for version 2 based on feedback
  • Objects where multiplicity can be > 1 now are always array
  • Switched from nlohmann to rapidjson to improve json serializaton performance
  • Pre-expand mruby Oniguruma source for windows build
  • Fixed some conan build issues with install of mruby and mqtt_cpp in configuration

Version 2.1.0.6

12 Mar 00:27
66ce164
Compare
Choose a tag to compare

What's Changed

  • Default with_docs false to avoid unnecessary dependencies if doxygen is not installed
  • Fixed bug when DataItems have duplicate names–caused crash in streaming
    • Added warning when duplicate names and sources are given for the same device
  • Added fix for shared library installation
  • Changed data item lookup to Id, Name, Source