Releases: TrakHound/MTConnect.NET
MTConnect.NET Agents v1.4.0
- Added YAML configuration file as the default. Existing JSON configuration files are automatically converted at startup.
- Uses new split MTConnectAgent and MTConnectAgentBroker classes for better performance in MQTT Broker/Relay Agents
- Fixed issue #36 with single line Current XML
- Updated JSON Asset output
MTConnect.NET Agents v1.3.0
MQTT Agents
In this release, two new Agent applications are included. These Agents use SHDR to input data and then publish MTConnect data to an MQTT broker. These are released along with the v1.3 HTTP Agents but note that the MQTT Agents and topic format could be subject to change depending on feedback.
MQTT Relay Agent
The MQTT Relay Agent is used to publish messages to an external MQTT broker (ex. Mosquitto, HiveMQ, etc)
MQTT Broker Agent
The MQTT Broker Agent runs an internal MQTT Broker so that an external broker is not needed
JSON
This release contains the updated version of MTConnect.NET-JSON for Agent JSON support. This project was previously included in the repo but I had taken it out of the first official releases as there was some work left to do. They are now updated and are used in the MQTT Agents as well.
AssetChanged and AssetRemoved AssetType Attribute
This release fixes an issue where the AssetType attribute was not being output for the AssetChanged and AssetRemoved observations.
MTConnect.NET Agents v1.2.0
Fixed remaining issue with Http Client Timeout in Gateway Agent
MTConnect.NET Agents v1.1.0
MTConnect.NET Agents v1.0.0
First Official Release (v1.0.0)
This is the first official release of the MTConnect Agent Applications.
For information about installation or usage, see below:
-
MTConnect HTTP Agent : MTConnect Agent application is fully compatible with the latest Version 2.0 of the MTConnect Standard. It uses the SHDR protocol to receive data from Adapters, an in-memory buffer with an optional durable file system based buffer, and an Http REST interface for retrieving data.
-
MTConnect HTTP Gateway Agent : MTConnect Agent application is fully compatible with the latest Version 2.0 of the MTConnect Standard. It receives data from other MTConnect Agents using HTTP, an in-memory buffer with an optional durable file system based buffer, and an Http REST interface for retrieving data.
MTConnect.NET Agents v0.6.1
This release fixes a few issues that were seen in v0.6.0.
Http Streams
The HTTP streams (for both Client and Server) were reviewed and there were some issues with spacing and Http Header capitalization. There was also an issue with Compression Encoding that was fixed. A few other items were fixed as well to insure everything is working correctly.
Observation Buffer
After some more testing, the observation buffer had some performance issues when the buffer was full. A new CircularBuffer class is now implemented to better handle this and now sees no performance issues when the buffer is filled.
MTConnect.NET Agents v0.6.0
This release includes major updates to the Agent, Adapter, and Client classes.
Agents
Much of the agent buffer code was refactored for better performance and the XML serialization was almost completely rewritten to use custom serialization (instead of just serialization attributes).
Adapters
The SHDR adapter functionality was completely refactored and adapter classes are now broken up into the 4 classes described below:
- ShdrAdapter : An adapter used to send data on-demand using the Send() method
- ShdrIntervalAdapter : An adapter used the most recent data at a specified interval
- ShdrQueueAdapter : An adapter used to buffer data and send the entire buffer on-demand using the SendBuffer() method
- ShdrIntervalQueueAdapter : An adapter used to buffer data and send the entire buffer at a specified interval
Clients
Client classes were updated to support response compression and to support sending an Accept header according to the specified DocumentFormat. Client Http streams were rewritten to abstract away from needing to be specific to XML or JSON. It can now use the DocumentFormatter classes just like the Agent does. Client Http streams also support response compression.
Performance
A lot of benchmarking and profiling were done to increase the performance and decrease the resource usage.
Application libraries
The MTConnect.NET-Applications-Agents library is used to implement a full Agent application and can be referenced in a custom application with only a few lines of code. This allows for an easier implementation but also allows for package updates to be applied without having to change source code. One of the main use cases for MTConnect.NET is to embed an MTConnect Agent into the 'Adapter' in order to avoid needing the regular SHDR communication as well as provide direct access to the Device model.
Http Server Static Files
Static files can be better served from the HttpServer and are configured using the Files property of the HttpAgentConfiguration.
Durable File Backed Buffer
More work was done to the durable file backed buffer to fix a few issues that were seen in the last release.
Code Signing
There were some issues that some saw with trying to download and install the Agents using the installers in the previous Release as they were getting warnings from their web browser or anti-virus. Now all binary files are digitally signed using a code signing certificate that should prevent the Unknown Publisher issues that may have been seen before.
MTConnect.NET Agents v0.5.1 Beta
Linux Compatibility
I updated some of the Program.cs classes for the Agent applications to skip over the ServiceProcess related stuff in order for everything to work correctly on a Linux system.
MTConnect.NET Agents v0.5.0 Beta
Windows Installer
- This release along with any new releases will include a Windows Installer to make installation of the Agent easier
XML Validation
- Xml validation against XSD schema files was added in this release
- Validation Errors/Warnings are output to Log file(s)
- Validation Errors can be output using the MTConnectError response document
- ValidationLevel configuration file setting determines the behavior when validation errors occur
- ValidationLevel Http query parameter can be used to override the configuration file setting (useful for debugging)
Configuration File Watcher
- Configuration files will reload if changed and restart the MTConnect agent (if enabled)
- Devices.xml file is also monitored and will restart the agent (if enabled)
Windows Service
- New command line functionality to install, start, stop, and remove Agent as a Windows Service
- Added new command line parameter to override the Http Port (useful for debugging)
Agent Information File
- New AgentInformation file was added to persist the Agent Device UUID as well as other information
Better Asset Management
- Asset Buffer was updated to follow the correct circular buffer design specified in the MTConnect standard
- Remove and Remove All Asset commands were added
- Http Server supports adding Asset by POST
- Multiline SHDR Asset support
Fixed various issues
- Updated SHDR DataItem compatibility
- Fixed issue with DataSet, Table, and TimeSeries XML output when Unavailable / Empty
- Fixed issue with duplicate Observations (same value, different timestamp)
- Updated Timestamps to use Unix Ticks internally. This fixed the issue of losing precision in timestamps coming from an Adapter
- Fixed some various issues with the Http Server
- Fixed some issues with logging
MTConnect.NET Agents v0.4.1 Beta
This release contains the update from #24