Skip to main content

Change Log

Version 1.16.2

Features

  • Add check for local timezone change to AbstractConnectorMain.java

Version 1.16.1

Features

  • Added forceServiceRebootWatchdog method to SCAppRebootWatchdog class to allow for manual service of the watchdog regardless of the service timer

Version 1.16.0

Features

  • Makes use of "Record Data in UTC" setting in Ewon to determine if timestamps are in UTC or local time
  • Historical data points support new method for getting the timestamp as an ISO-8601 formatted string
  • TimeZoneManager class for checking and managing the time zone offset
  • Historical data EBD requests use relative time instead of absolute time
  • Added method to get all instant values via EBD

Bug Fixes

  • Corrected errors in multiple calculations of offset
  • Corrected errors data point timestamps related to timezone change
  • Added missing JavaDoc comments

Version 1.15.14

Features

  • Added overrideTagUnit method to DataPoint class to allow for setting the unit of a data point after it has been created (useful for value transformations)
  • Added flexible DataPointNumber class to support different number types (useful for value transformations)
  • Added clone method to each DataPoint class to allow for deep copying of data points (useful for creating derived tag data points from their parent data point)
  • Added DataType#NUMBER to support DataPointNumber class type
  • Added support for getting the string representation of a DataQuality enum value
  • Added support for getting a DataQuality enum value from an OPCUA quality value

Version 1.15.13

Features

  • Improved reboot watchdog functionality. User no longer has to modify the rebootWatchdog.json file.

Version 1.15.12

Features

  • Added support for blocking data polling in the abstract connector framework during temporary error conditions

Version 1.15.11

Features

  • Added support for MQTT Will (Commonly referred to as LWT/Last Will and Testament)
    • Configurable topic, payload, and retain setting

Version 1.15.10

Bug Fixes

  • Fixed config file update failure when version was higher than first config update steps

Version 1.15.9

Features

  • Added log once methods to Logger.java to enable suppressing of duplicate log messages
  • Added log once support to logMissingField methods in abstract connector framework config class

Version 1.15.8

Bug Fixes

  • Removed redundant quotes from unit value in TagInfo.java based objects

Version 1.15.7

Features

  • Added methods to get data point values as a Java Object
  • Added RawNumberValueUtils.java to get the min, max, etc. of two or more raw number values
    • Added RawNumberValueUtilsTest.java test suite class to test the RawNumberValueUtils.java class

Other

  • Moved existing tag info test method from root LibraryTest class into a new, separate test suite class, TagInfoTest.java, to promote better organization of tests

Version 1.15.6

Features

  • Added missing Javadocs
  • Builds now fail if Javadoc warnings exist

Version 1.15.5

Features

  • Added method to check if the configuration file needs to be updated.

Bug Fixes

  • Escaped Maven command special characters in .vscode/tasks.json in order to work with powershell.

Version 1.15.4

Features

  • Added support for versioning application configuration files.
  • Added framework for updating application configuration files.

Version 1.15.3

Features

  • Added service timer to the application reboot watchdog to ensure application is in a stable state before allowing the watchdog to be serviced.

Version 1.15.2

Features

  • Added all supported Ewon HTTP methods to SCHttpUtility.java.
  • Added HTTP request info package with classes for storing HTTP request information in a single object.

Version 1.15.1

Features

  • Added method to read ewon serial number

Version 1.15.0

Features

  • Added data aggregation feature to historical queue.
  • Added date conversion to ISO-8601 formatted string utility method in SCTimeUtils.java.
  • Added combined logging methods for log messages and exceptions in Logger.java.
  • Added support for time units up to years in SCTimeSpan.java.
  • Added methods for converting one (1) unit of time to another in a more friendly manner in SCTimeUnit.java.
  • Updated base project files to use the latest from the upstream starter project.
    • Documentation is now generated using Docusaurus.
  • Adapted documentation to Docusaurus.

Bug Fixes

  • N/A

Version 1.14.3

Features

  • Added get/set methods for HTTP certificate directory.

Bug Fixes

  • N/A

Version 1.14.2

Features

  • Added rapid catch up feature: this allows historical tracking to advance quickly for periods where the Flexy is offline.

Bug Fixes

  • N/A

Version 1.14.1

Features

  • Added historical data queue diagnostic tag support to HistoricalDataQueueManager.java.
    • Disabled by default. May be enabled using the setEnableDiagnosticTags(boolean) or setEnableDiagnosticTags(boolean, long) methods.
    • Diagnostic tags are updated automatically after each historical data queue operation.

Bug Fixes

  • N/A

Version 1.14.0

Features

  • Added SCAppRebootWatchdog.java to monitor the Ewon Flexy for reboot loops caused by malfunctioning Java applications. In the event of a reboot loop, the watchdog will disable the jvmrun file.

Bug Fixes

  • N/A

Version 1.13.11

Features

  • N/A

Bug Fixes

  • Corrected check for circularized file error, to only check for error since the last EBD request.

Version 1.13.10

Features

  • N/A

Bug Fixes

  • Added support for tags with a value of nan, -inf, and inf in HistoricalDataManager.java.

Version 1.13.9

Features

  • N/A

Bug Fixes

  • Updated code formatting of files in JSON package to comply with Google Java Format v1.17.
  • Update HistoricalDataManager.java to detect EBD header using first non-zero length line encountered instead of static first line.

Version 1.13.8

Features

  • Updated SCAppManagement.enableAppAutoRestart() to return a boolean indicating if the auto-restart functionality was successfully enabled.
  • Added SCCountdownLatch.getCount() method to return the current count of the latch without blocking.

Bug Fixes

  • N/A

Version 1.13.7

Features

  • Added support for managing the MQTT keep alive interval in ConstrainedMqttManager.java.

Bug Fixes

  • N/A

Version 1.13.6

Features

  • N/A

Bug Fixes

  • Fixed an issue in ApplicationControlApiListener.java where constants were not properly scoped for access by subclasses.

Version 1.13.5

Features

  • Added support for registering custom API forms in ApplicationControlApiListener.java.

Bug Fixes

  • N/A

Other

  • Updated code formatting to comply with Google Java Format v1.16.

Version 1.13.4

Features

  • Added connection check before publishing MQTT messages.
  • Improved MQTT manager error handling.

Bug Fixes

  • Removed unsupported Java 7 references to the 'java.nio' package.
  • Removed try number increment in AutomaticRetryCode.getCurrentTryNumber().

Other

  • Reduced default MQTT keep alive internal to from 60 to 10 seconds to detect connection issues faster.

Version 1.13.3

Features

  • N/A

Bug Fixes

  • Fixed minimum firmware version.

Other

  • N/A

Version 1.13.2

Features

  • Added Ewon firmware version checking.
    • Allows for applications to specify and enforce a minimum firmware version.

Bug Fixes

  • N/A

Other

  • N/A

Version 1.13.1

Features

  • Removed loading of jar to Ewon via FTP during install phase.

Bug Fixes

  • N/A

Other

  • Removed unused IDE run configurations.

Version 1.13.0

Features

  • Added HashUtilities.java class to allow for easy hashing (MD5 and SHA-1) of strings, files, and byte arrays.
  • Added SecurityProviderUtilites.java class to provide a simple API for adding and removing security providers in the JVM.
  • Added SCWonkaSecurityProvider.java class to allow access to the Wonka JVM MD5 and SHA-1 MessageDigest algorithms.
    • SecurityProviderUtilities.java can be used to add SCWonkaSecurityProvider.java to the JVM.

Bug Fixes

  • N/A

Other

  • N/A

Version 1.12.1

Features

  • N/A

Bug Fixes

  • N/A

Other

  • Deprecated the PreAllocatedStringBuilder.java class in favor of the Java native StringBuffer class

Version 1.12.0

Features

  • Added additional status codes in MqttStatusCode class
  • Added ConstrainedMqttManager.java (a wrapper of MqttManager.java) to handle common MQTT use cases
  • Added SCHttpUtility methods to output HTTP request response data to a file

Bug Fixes

  • Fixed improper Javadoc in AutomaticRetryCodeLinear.java

Other

  • Simplified MqttManager.java by internally getting status and passing to implementation methods

Version 1.11.3

Features

  • N/A

Bug Fixes

  • Fixed exception when disabling historical data queue max behind time enforcement

Other

  • Add historical data queue max behind time accessor

Version 1.11.2

Features

  • Added option to disable historical data queue max behind time enforcement

Bug Fixes

  • Added missing and updated outdated javadocs
  • Added missing circularization check to historical data string EBD calls

Other

  • General code cleanup

Version 1.11.1

Features

  • N/A

Bug Fixes

  • Fix inverted logic with WAN IP detection

Version 1.11.0

Features

  • Added support for application pause when no WAN IP address is available

Bug Fixes

  • N/A

Version 1.10.0

Features

  • Added application arguments parser class

Bug Fixes

  • N/A

Version 1.9.0

Features

  • Added application control API class

Bug Fixes

  • N/A

Version 1.8.0

Features

  • Added support for topic name in tag creation
    • Added helper methods for persistent MEM tag creation

Bug Fixes

  • N/A

Version 1.7.0

Features

  • Added Base64 utility class from public domain

Bug Fixes

  • N/A

Version 1.6.0

Features

  • Added new method setQueueFifoTimeSpanMins
  • Add maximum duration that historical fifo can get behind (48 hours)
  • Make maximum duration configurable by library user
  • Changed historical log read to stream from file based
  • Add check and exception for circularized file errors
  • Add function for library user to advance historical tracking time
  • Add eventfile module for reading the Flexy event file
  • Add alarm configuration to tag information objects

Bug Fixes

  • Fix bug where historical data log overwritten by is circularized file
  • Add missing Javadocs parameters

Version 1.5.0

Features

  • Add milliseconds to days, hours, minutes, seconds utility method
  • Add local time zone utilities
  • Add data point method to get time stamp as date object
  • Update ISO 8601 date formats for proper time zone handling
  • Add method to get value of the Ewon 'Record data in UTC' option
  • Add method to get historical data queue running behind time in milliseconds
  • Add method to get ISO 8601 formatted timestamp for a given data point

Bug Fixes

  • Fix bug preventing local time offset calculation only on first call

Other

  • Combined duplicate time libraries

Version 1.4.0

Features

  • Added support for the tag unit in TagInfo objects
  • Added system.threading package
    • Added CountdownLatch implementation
  • Updated local time offset calculator
    • Removed dependency on system credentials
  • Added utility for getting string contents of an input stream

Bug Fixes

  • N/A

Other

  • N/A

Version 1.3.1

Features

  • N/A

Bug Fixes

  • Fix bug preventing access of HTTP timeout setting function.

Other

  • N/A

Version 1.3.0

Features

  • Added system.http package
    • Perform HTTP GET and POST requests
    • Set Ewon system HTTP timeouts

Bug Fixes

  • N/A

Other

  • N/A

Version 1.2.0

Features

  • Added system.application.SCAppManagement.java

Bug Fixes

  • N/A

Other

  • N/A

Version 1.1.2

Features

  • Added multi-character delimiter support to StringUtils split method

Bug Fixes

  • N/A

Other

  • N/A

Version 1.1.1

Features

  • Added SCTimeFormat ISO 8601 date format constant

Bug Fixes

  • N/A

Other

  • Update date/time format of alarm messages to ISO 8601
  • Update date/time format of local data files to ISO 8601.

Version 1.1.0

Features

  • Added system.info.SCSystemInfo.java

Bug Fixes

  • N/A

Other

  • Trimmed trailing whitespace in markdown files
  • Fixed spelling in SCTagUtils.java
  • Fixed spelling in CONTRIBUTING.md

Version 1.0.0

Features

  • Initial Connector Release

Bug Fixes

  • N/A

Other

  • N/A