Releases: mtconnect/cppagent
Version v2.2.0.11
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
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
Bug Fix Release
- Fixed agent device uuid by @wsobel in #341
- Added
DeviceTopic
as an alias forProbeTopic
for mqtt sinks by @wsobel in #346
Full Changelog: v2.2.0.8...v2.2.0.9
Version 2.2.0.8
Patch Bug Fix
- Fixes an issue during the initial sample request with an interval where overlapping observations were delivered.
Version 2.2.0.7
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 theDevice
definition for a given deviceCurrent
- 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.
- Probe, Current, Sample and Assets (similar to the REST api)
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
-
Moved
Dockerfile
s for demo todemo
directory and addeddemo/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
anddocker
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 supplyUUID
of Agent Device externally -
Added
GID
andUID
docker build arguments to override default group and user ids -
Fixed
MqttUserName
andMqttPassword
configuration variables.MqttUserName = username MqttPassword = password
Version 2.2.0.5
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
orHost=${HOST_NAME}
- See the
demo/agent/agent.doc
for a path example
- Format is:
- Improved packaging with new
cpack_...
options in theconanfile.py
- Upgraded to boost to version 1.82
Version 2.2.0.4
- 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.
- To review the build process, see
- 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 totest_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.
- Moved the
- Appveyor support has been discontinued.
Version 2.2.0.3
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
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