Release v3.20.0 b3202 is available for download.
THIS RELEASE INTRODUCES POTENTIALLY BREAKING CHANGES, PLEASE READ CAREFULLY
This release zip also includes the latest versions of CreateMissing and ExportToMySQL which are compatible with this release.
Things you need to be particularly aware of...
If You Use FTPS
Previous releases were hard coded to ignore any certificate errors when making FTPS connections (not FTP). This really was not good practice, so from this release certificate checking will be enabled by default.
The issue is that some hosting companies do not appear to have their FTPS certificates sorted out and ask you to use a server FQDN that does not match the hosts certificate
If you encounter this issue then you should ask your hosting company to sort out the problem! In the meantime you can get the FTPS process working again by enabling the option:
> Internet Settings | Web/FTP Site | Advanced Settings | Ignore certificate errors
If you use MySQL
This release sees three new columns added to the standard Dayfile table.
There is a new button on the MySQL Settings page that will update your existing table with the required additional fields (if your MySQL user has the rights to do this).
However, the check of the existing table is very simplistic (it just counts the existing columns - to be improved later), so if you have modified the standard table, this feature in CMX will not work.
There is a MySQL script in the /MXutils folder that will also add the columns, or use this to manually add them.
New 24 Hour Rain Values
Though this release adds new records for 24 hour rain values, it will not go through your historic data and calculate the prior records, they start from the time this release was first run.
The CreateMissing utility can be used to add the 24 hour rain values to your existing Dayfile.
If running CumulsMX on an rPi you will need to run the 'CreateMissing.exe' utility within mono so the commands will be:
cd <CumulusMX> directory
mono CreateMissing.exe
If there are any errors in your dayfile, they should be reported by this program. For example, if you have duplicate entries, you will need to manually delete the duplications - there may be more than one.
Once all duplications are removed, the utility will run through all the available data and create any missing entries that it can. If you have missing data files in your data folder, this will be reported but not interrupt the process. It will generate a 'CreateMissing-<date>.txt' log in your MXdiags folder.
When completed, you will need to revisit your records editors to update the records. Do this for your all-time, yearly, monthly and this months records.
The full change list is as follows
What is Fixed
- Buffering of failed MySQL queries
- MySQL library update to fix crashes with a null reference
- NOAA Monthly report selector showing two "March"s and no February on the first day of each new month
- Alarms being triggered during data catch-up. These are now suppressed
What is Changed
- Alarm latch time hours are now decimal values rather than integer
- Moon Rise/Set web tags now have the date set to the current day
- The records editors now work in your locale date/time formats, they also now report any errors setting values
- The Monthly records editor month tabs have improved accessibility
- The default web site monthly records page month selection button have improved accessibility
- Local API, removed BOM from all API responses
- The date pickers for the log file view/editor pages and the new This Period now display the date in the CMX locale format
- The Cumulus.ini file now only contains FTP ExtraFiles entries that have either a local or remote filename entered (potentially removes 800 lines from the file!)
What is New
- Add custom actions for alarms. Call a script or external exe etc.
- Add a This Period records display like C1
- New option to exit Cumulus MX after a data stopped condition - Program Options > Shutdown
- All DateTime web tags now accept format strings of "Unix" and "JS", if either of these is supplied the datetime will be output as either a Unix or JavaScript timestamp
- Rain 24 hour:
- Added to day file, records 54, 55 (value, time)
- Updated dayfile header. Also abbreviated and changed to CSV from PipeSV
- Added to all the record editors
- Added to MySQL. See new feature below for updating your existing Dayfile table. There is also a MySQL script in the MXutils folder to alter existing table
- New web tags:
Code: Select all
<#rain24hourTH>, <#Train24hourTH>
<#rain24hourYH>, <#Train24hourYH>
- Default web site updated to show all the relevant records
- Adds the ability to search in the Dayfile viewer/editor
- FTP and FTPS now has an option to enable automatic detection of the connection settings
- This and another new setting Ignore Certificate Errors are in Internet Settings | Web/FTP Site | Advanced Settings
- NOTE: If you use an FTP server without a valid public certificate, you *MUST* enable the setting. This is a breaking change
- Custom HTTP calls (seconds, minutes, rollover) can now each have up to 10 URLs
- Custom MySQL Uploads (seconds, minutes, rollover) can now each have up to 10 commands
- The MySQL Settings page gets new functions for updating existing tables by adding columns to match the current schema
- A new "Utils" menu on the Dashboard interface
- The FTP Now function has been moved there
- New option to reload the Dayfile into CMX from file. CMX holds a copy of the Dayfile in memory, if you edit it externally, use this to refresh the values in CMX without restating
- New option to purge the failed MySQL command queue. If you have failed commands (normally custom commands) that will never work, then you can remove them from the failed retry queue without restarting CMX
- Added a PowerShell script for checking your install file versions using the hash_md5_<nnnn>.txt file
Start PowerShell, then...
Code: Select all
> cd <CMX_install_dir>
> .\MXutils\windows\CheckMD5HashFile.ps1 -HashFile hash_md5_3202.txt
If all files match, then you will see a message "All checksums are OK". If any files do not pass then they will be listed like this...
Code: Select all
FileName CopyOK OriHash CopyHash
-------- ------ ------- --------
interface/json/InternetOptions.json False dee6c088b5dfbcd22fa34feea56bc3ab A16F39F059A919371D84CEECD00B1514