Version 3.0.0

First Beta Release Date: 2 January 2015 (build 3000)
Latest Update: 24 April 2019 (build 3049)
If you are intending to upgrade to this release, please read all of the release notes since the build you are currently running.
Release History
Changes: 
----
== 3000 - January 2, 2015 ==
Initial Beta release. See the announcement thread for details.
== 3001 - January 4, 2015 ==
*Fix: Crash if "ListWebTags=1" is set in Cumulus.ini
*Fix: Some of the screens having no data on them
== 3002 - January 5, 2015 ==
*Fix: Serial port stations don't work on Linux or OS X - wrong device name
*Fix: Logging interval is always 5 minutes regardless of the setting
*Fix: Some of the web site pages in the distribution are out of date
*Fix: realtime.txt needs a newline at the end so some third party applications work
*Fix: Using the <#txbattery> web tag with a channel parameter causes a 'token error'
*Fix: NullReferenceException at start up when using WMR80/100 etc
*Fix: 'Old' logger data gets re-logged with La Crosse stations
*Fix: NullReferenceException at start up when using a strings.ini file
*Fix: "Fine Offset with Solar" station type doesn't work
== 3003 - January 6, 2015 ==
*Fix: realtime.txt is always uploaded even if configured not to be
*Fix: Exception when WMR928 sensor channel 3 data is received
*Fix: Some third party projects need setting to turn off use of station data logger (for Davis)
*Fix: Using 'short time format' rather than explicit "HH:mm" causes problems
*Fix: Setting of <#newrecord> is inverted
*Fix: <#timehhmmss> gives HHmmss and should be HH:mm:ss
*Fix: The settings forms can cause corruption of items which were null, until the next restart
*Fix: Using a twitter.txt file causes a NullReferenceException
== 3004 - January 7, 2015 ==
*Adds some diagnostic data tracing for La Crosse and WMR928
*Corrects the structure of the webfiles directory
*Fix: 'Enable realtime.txt FTP' always gets unset by the internet settings mechanism
*Fix: realtime.txt has localised time formats rather than "HH:mm"
*Fix: indexT and gaugesT have wrong gauges link; some CSS files in wrong place in webfiles
== 3005 - January 8, 2015 ==
*Fix: NullReferenceException starting timers when UseDataLogger=0 is used
*Fix: <#day> should always be two digits
*Fix: RTS handshake setting causes issues with Davis logger emulations
*Fix: Only first 10 'extra files' get saved to Cumulus.ini
*Fix: <#webcam> names its link 'forum'
== 3006 - January 10, 2015 ==
*Fix: <#month> <#hour> <#minute> should always be two digits
*Fix: IsDaylight and IsSunUp are never set
*Fix: Realtime external program doesn't fire
*Fix: <#LastDataReadT> default format is not useful
== 3007 - January 12, 2015 ==
*The charts page (both in the UI and on the web page) work differently now to fix the units problem
*The trendsT.htm file has changes
*Fix: No data received from WMR100
*Fix: Extra sensor log file entries don't have terminating newlines
*Fix: <#MinutesSinceLastRainTip> doesn't include hours in calculation
*Fix: Processing of non-UTF8 files doesn't always work (? appears in output)
*Fix: Pressure not sent to CWOP if UseDavisLoop2 turned off
*Fix: Fine Offset indoor temp always in Celsius
== 3008 - January 14, 2015 ==
*Fix: Wind chart shows wrong units and wrong value, if mph not in use (same for all charts, I think)
*Fix: No data read from WMR928 on Raspberry Pi
*Fix: Gauges show wrong units and scales
*Fix: Uploads to PWS etc at 'odd' intervals (not a factor of 60) don't get processed
*Fix: Year to date rain not being included
*Fix: Wind chill incorrect for Fine Offset when using Fahrenheit
== 3009 - January 16, 2015 ==
*Note that the charts page (both in the UI and on the web page) works differently now to fix the problem where the chart may sometimes not load
*Fix: Updating settings can sometimes change upload intervals somehow (e.g. 5mins -> 10mins), or stop them happening
*Fix: Indoor temp offset not applied to Fine Offset live data
*Fix: UV index on dashboard is always integer (Davis is float)
*Fix: <#date> web tag is also giving the time
*Fix: Charts sometimes fail to load
*Fix: Writing today.ini for high/low can clash with log interval and stop data being read
== 3010 - January 18, 2015 ==
*Note that the 'any key' no longer terminates the program
*Fix: Realtime and daily external program launching is currently broken
*Fix: Needs to trap ctrl-c and window closing, to close cleanly
*Fix: Not all 'out of range' values in Davis logger data are catered for
*Fix: WMR100 rain figures wrong (station works in inches, not mm)
== 3011 - January 20, 2015 ==
*Improved the situation regarding non-English settings (e.g. decimal commas)
*Fix: Heating/cooling degree days calculation incorrect
*Fix: Temperature graph always has C for unit
== 3012 - January 22, 2015 ==
*Fixed a number of other issues which aren't specifically mentioned there
*This build removes the licence checks and has no expiry date
*Fix: Another issue with heating/cooling degree days - saved values don't get loaded from today.ini at startup
*Fix: Issue with UTF8 setting for extra files not consistent on settings screen
*Fix: Should check for 'not present' value for THSW index (Davis)
*Fix: NOAA yearly report has heating deg days twice instead of heating and cooling deg days
== 3013 - January 24, 2015 ==
*Fixed a number of other issues which aren't specifically mentioned
*Fix: Accented characters in month names cause issue with UI all-time records screen
*Fix: Calibration settings don't work if system set to decimal commas
== 3014 - January 25, 2015 ==
*Fix: Heat and cool base on NOAA annual report not rounded
*Fix: Log files before approx March 2013 won't load in data log viewer
*Fix: Error "Only one usage of each socket address (protocol/network address/port) is normally permitted" if port 843 is already in use
== 3015 - January 26, 2015 ==
*This build sets the console clock on Davis stations (at start up and at 0400) if you have 'synchronise station clock' selected
*Fix: Accented characters in forecast strings (and elsewhere) don't display properly on web page
*Fix: Dominant wind direction figures not reloaded from today.ini (calc may also be wrong)
*Fix: Wind rose data is always 16 items long, even if set to 8 - causes wrong wind rose directions
== 3016 - January 27, 2015 ==
*New: Multiple connections to the user interface should now be possible
*New: Now possible to override the default port for the websocket server, by passing a -wsport parameter to the program
*Fix: Multiple browser connections to dashboard page don't work
*Fix: Two copies can't be run on same machine because websockets port clashes
*Fix: Longitude uses seconds from Latitude
*Fix: <#presstrend> is empty for WMR928 stations
*Fix: Duplicate log entries can occur at midnight - or no entry at all
*Fix: There are issues with Twitter updates in build 3015 if you use a twitter.txt
*Fix: Davis clock gets set multiple times - or not at all - at 0400
== 3017 - January 30, 2015 ==
*Should improve TCP/IP connections for Davis stations
*The web site gauges are now at version 2.5.3
*New: Now a separate option to upload the graph data files
*Fix (Failed): TCP/IP data stops when using Virtual VP (and possibly other Davis TCP/IP connections?)
== 3018 - January 31, 2015 ==
*Allow longer for the Davis clock time to be received when using TCP/IP connections
*Add extra logging to the diags file for data received from Davis stations
*Fix: TCP/IP data stops when using Virtual VP (and possibly other Davis TCP/IP connections?)
== 3019 - February 9, 2015 ==
*The footers on the UI pages are now consistent and give the version and build number
*New: Implements the following web tags (Davis only):
**<#battery>
**<#txbattery>
**<#DavisTotalPacketsReceived>
**<#DavisTotalPacketsMissed>
**<#DavisNumberOfResynchs>
**<#DavisMaxInARow>
**<#DavisNumCRCerrors>
**<#DavisFirmwareVersion>
*Fix: Davis UV is 10x too high from logger data (error in Davis protocol spec)
*Fix: This year's high monthly rain isn't read correctly from year.ini at startup, so gets reset to this month's figure
== 3020 - February 17, 2015 ==
*All of the places a Davis can return 255 for wind speed and negative rain rate are handled
*Updates the SteelSeries gauges to version 2.5.5
== 3021 - March 4, 2015 ==
*New: The charts are now done using Highcharts
*Fix: UV needs separate scale on UV/solar chart
*Fix: Encoding not set for web tag processing for extra files
*Fix: FTP uploads can go to wrong directory if there are connection issues
*Fix: Sharing violation' on a .ini file (e.g. month.ini) when new high wind run se
*Changed the structure of both the interface files and the web files
== 3022 - March 24, 2015 ==
*Includes an update to the Highstock (charts) package
*The cumuluscharts.js from this build contains a fix for the problem which occurs when your web server sends the wrong content type for the graph data files
*Added some more diagnostics
*New: You can now control the output format of <#tomorrowdaylength> using an entry in strings.ini
*Fix: 'Start of storm rain' value not read from loop data (Davis only)
*Fix: Davis UV graph is in integers if you use decimal commas
*Fix: Doesn't check for out of range Lux figures (Fine Offset)
*Fix: Wind chill in realtime.txt has decimal format for wind rather than temperature
*Fix: Davis 'storm rain' is wrong for metric gauges (error in Davis protocol spec)
*Fix: Davis '10-min gust' value in LOOP2 packet is not a 10-min gust on VP2 (bug in Davis ISS firmware)
== 3023 - April 7, 2015 ==
*Fixes a few issues and adds daily graphs for rainfall, min/max/average temperature, and sunshine hours
*Fix: Problem with setting/unsetting 'send solar' in Wunderground and PWS Weather settings
*Fix: Should check that a WU update isn't already in progress before starting a new one
== 3024 - April 12, 2015 ==
*Fix: Low Max temp this month and this year have wrong timestamp
*Fix: Davis extra temps and DPs give invalid values when sensor not present
*Fix: Moon phases are wrong
*Fix: Problem with 'wake console' code on Davis TCP/IP connections
== 3025 - May 22, 2015 ==
*New: Debug logging, diagnostic data logging, and ftp logging can now be set in the UI
*New: Davis archive data is now downloaded twice, in case first download took a long time and later entries have since been logged
*New: Davis stats are now read every 15 minutes (approx
*New: Reading of Davis reception stats is now optional and off by default
*New: Make sure dayfile.txt entry is always logged to diags in case of problems writing file
*New: 'Stop second instance' option now implemented
*New: Graph periods can now be configured
*New: Cumulus MX can now update a MySQL database. There are six options - the first three are for realtime.txt data, monthly logfile data, and dayfile.txt data
*New: Cumulus MX now offers custom HTTP uploads - rather like the way that Weather Underground is updated, but you specify a custom HTTP URL
*Fix: <#tomorrowdaylength> calculation is wrong
*Fix: High min temp date is wrong
*Fix: Monthly alltime record broken on 1st of month before 0900/1000 gets assigned to wrong month, if using 0900/1000 rollover
*Fix: Easyweather.dat input not working
*Fix: Stops working after WMR88/100 UV packet received
*Improved checking for invalid Davis loop packets, and resynchronisation should be quicker
*Changed Fine Offset 'synchronise reads' code to avoid problems
*Improved console messages at start up to indicate whether station has been connected successfully
== 3026 - July 26, 2015 ==
*Fix: Crashes at startup if sun is always up (or down). There are other related issues with things like daylight length at higher latitudes
*Fix: Sunshine hours on daily graphs sometimes shows previous day's figure
*Fix: No data read from WM918 on Raspberry Pi - same as earlier problem with WMR928, deficiency in Mono, need to rewrite code to work around
*Fix: Davis wind chill is always degrees C if logger data is being used
*Fix: Communication issues with Davis IP loggers
*Fix: Rounding issues with Beaufort calculations
== 3027 - August 4, 2015 ==
*Fix: Use of 'periodic disconnect' for Davis IP connections causes crash
*Fix: Twitter stops working on some systems
*Fix: Data reading thread with Davis serial/USB stations can crash if invalid data received (bug introduced in 3026)
== 3028 - August 6, 2015 ==
*Fix: Data reading thread with Davis serial/USB stations can crash if invalid data received (bug introduced in 3026)
*Fix: 'Recent data' missing if duplicate timestamps in log files
== 3029 - September 3, 2015 ==
*New: Changed the code which writes the today.ini file so that the timestamp (the date/time that data was last logged) is written in ISO 8601 format yyyy-mm-ddThh:mm:ss
*Fix: Davis 'periodic disconnect' still has problems, on Windows only
*Fix: Spurious small 'rain last hour' etc when multiplier used
*Fix: Exceptions can occur when enabling or disabling FTP logging dynamically
*Fix: WMR928TempChannel setting doesn't also do humidity
== 3030 - September 6, 2015 ==
*Fix: A fix to the 'dp' code for latitude and longitude in 3029 has stopped it working
== 3031 - September 21, 2015 ==
*Fix: Graph data loaded from logs at start up is always for last 24 hours rather than configured period
*Fix: Rain in last 24 hours is actually for configured graph period
*Fix: A zero in location seconds field can sometimes cause problems
*Fix: Davis reception stats are still read every couple of minutes rather than every 15 minutes
== 3032 - November 1, 2015 ==
*New: Direct uploading to Awekas
*New: Direct uploading to WeatherCloud
*New: An editor for today's rainfall total
*New: The data for the 'dashboard', 'now', and 'gauges' pages which was previously only available via a websockets connection is now also available by Ajax (i.e. via an http 'get')
*Fix: Checksum validation for Instromet is wrong, so all data is rejected
*Fix: Dominant wind direction is wrong when Davis logger data is used (i.e. when catching up)
== 3033 - November 22, 2015 ==
*There seems to be an issue with this build with reading some timestamps from ini files (alltime.ini etc)
*Fix: Easyweather.dat reading interval is an integer, should be a float as in Cumulus 1
*Fix: All-time and monthly all-time gust don't always get updated on Davis stations if figure from LOOP2 is used
*Fix: Crash while parsing data from Instromet station
*Fix: External program shouldn't run until all pages processed
== 3034 - November 23, 2015 ==
*Fix: Issue with build 3033 with reading some timestamps from ini files
== 3035 - December 2, 2015 ==
*New: The temperature chart now includes heat index
*New: Added some more debug logging for Instromet stations and tweaked the code
*New: Archives the month.ini and year.ini file at the end of the month/year as monthYYYYMM.ini and yearYYYY.ini
*Fix: Default file encoding on Mono is UTF-8 rather than ANSI, so unsetting UTF-8 options have no effect
*Fix: NOAA files with UTF-8 option shouldn't use BOM
*Fix: Cloudbase unit not supplied to UI gauges
*Fix: Auto ftp of NOAA reports can happen before reports are complete
== 3036 - December 14, 2015 ==
*New: Added a samplestrings.ini file
*Fix: Doesn't pre-load graph data etc from log files for 'Easyweather.dat' input
*Fix: NOAA files without UTF-8 selected should use ISO-8859-1 not ASCI
*Fix: Problems with parsing Instromet responses due to Unix newlines
== 3037 - February 24, 2016 ==
*Moved the generation of the JSON graph data files to the web folder
*Fix: Date in Instromet logger entries incorrectly parsed
*Fix: Davis Leaf Wetness values are not read correctly
*Fix: Processing of Davis archive data can stop after day rollover
*Fix: Web files without UTF-8 selected should use ISO-8859-1 not ASCII (causes 'odd' characters to appear)
*Fix: End of month/year copies of month.ini and year.ini are incorrectly named if 0900 start of day in use
*Fix: Dayfile.txt viewer can display an error message if dayfile.txt from Cumulus 1 is used
*Fix: CWOP temperature incorrectly formatted when below 0F - causes CWOP to read as zero
== 3038 - March 13, 2016 ==
*Fix: Another problem with date parsing in Instromet logger entries
*Fix: Monthly rain record may get logged at start of month using previous month's total
*Fix: Web updates don't work at intervals that aren't factors of 60
*Fix: Max and min comparison totals wrong on NOAA annual report
== 3039 - July 18, 2016 ==
*New: Supports new Instromet loggers which run at 19200 baud. This is now the default baud rate
*Fix: Instromet logger interval gets set to seconds rather than minutes
== 3040 - July 29, 2016 ==
*Fix: Fixes some issues with Instromet archive download
*Fix: (hopefully) 'last rain tip' time for Instromet stations
== 3041 - August 17, 2016 ==
*New: Support for FTP over SSL/TLS (FTPS)
*New: Adds RainLast24Hour to data available to Dashboard
*Fix: Problem where data input stops on WMR200
*Fix: Graph label colour for sub-zero when Fahrenheit in use
== 3042 - January 17, 2017 ==
*New: A Cumulus.ini setting to turn off the 'extra' decimal place in pressure values on Davis stations. To limit the pressure to 1 decimal for mb/hPa and 2 for inHg, add the following to the [Station] section of Cumulus.ini:
'''
DavisIncrementPressureDP=0
'''
*New: MX now automatically processes and uploads the realtimegauges.txt file, so you don't need to add it as an extra file. Can be turned off in the internet settings.
*New: Extra diagnostics when Davis archive reading thread terminates abnormally
*New: Implemented "TempMult2" second order calibration setting, as in Cumulus 1.9.4 (set via Cumulus.ini only)
*New: Implemented forcing of more frequent barometer updates on Davis stations (set via Cumulus.ini only - ForceVPBarUpdate=1 in [Station] section). Note that this is only useful on very old versions of the console firmware.
*Fix: Sunshine hours incremented correctly using Davis archive data
*New: Improve Heat Index calculation (added "Rothfusz adjustments")
Also included?:
*Fix: Should calculate rain rate for Instromet stations
*Fix: RainLast24Hour in dashboard data is always zero
*Fix: The one second read timeout introduced in 3041 for Davis stations is not long enough for Weatherduino - needs to be configurable
*Fix: Doesn't use configured FTP port
== 3043 - January 20, 2017 ==
*Fix: Fixes problem of realtimegauges.txt file upload interferring in other uploads.
== 3044 - December 7, 2018 ==
*Update: Updated the HidSharp package to ver 2.0.5
**Now uses libudev1 for Fine Offset and WMR200 stations, removing previous restriction of using libudev0 on Linux
*New: Added new solar calculation method "Bras"
**Updated the Interface web files to reflect the new settings.
**New Cumulus.ini entries...
***SolarCalc=0 		(0=Ryan-Stolzenbach, 1=Bras, default=0)
***BrasTurbidity=2 	(atmospheric turbidity factor (2=clear, 5=smoggy, default=2)
*Fix: Fixed corrupt/missing MySQL port causing CumulusMX to crash on startup
*Update: Updated the default forum URL to it's new home
*Update: Updated included website files to new URL
*Fix: URL encode Twitter messages (I know Twitter is largely broken)
*Fix: Davis VP2 - (Steve Loft) Added sanity checks for invalid wind speed/direction values
*New: Davis VP2 - Added automatic disabling of the use of LOOP2 packets on firmware versions < 1.90
*Fix: Change RG11 devices to use a new Cumulus.ini file entry. The previous MX builds would not work on Linux.
**For example:
***RG11port=2 (depreciated)
***RG11port2=3
**...now use
***RG11portName=COM2 (for Windows or /dev/ttyUSB2 for Linux)
***RG11portName2=COM3 (for Windows or /dev/ttyUSB3 for Linux)
*Update: The default Comm port values are now set to either COM1 or /dev/ttyUSB0 depending on the platform. Hopefully this will prevent some of the confusion of new users.
== 3045 - December 23, 2018 ==
*Fix: Davis TCP connections. Added additional error handling, should now be much more robust and attempt to reconnect on failure.
*New: Astro calcs for Solar
**Added refraction correction.
**updated to add some extra terms.
*Fix: Removed URL encode Twitter messages added in b3044
*New: Added second order humidity correction factor, works the same as the temperature. It has to be set manually in Cumulus.ini.
**[Offsets]
**HumMult2=0.0
*New: FTP Updates
**Now supports FTPS over TLS1.1 and 1.2
**In Passive FTP, you can disable Enhanced Passive (EPSV) mode if it causes problems with your host. Some hosts are reporting they support it, but a firewall along the route cannot handle the connections.
***Requires manually adding a new Cumulus.ini entry...
****[FTP site]
****DisableEPSV=1
*Update: RealtimeGaugesTxt is no longer automatically enabled for FTP.
*New: Web Sockets are no longer on a separate port, it shares the same port as HTTP.
The wsport command line switch is still recognised for backwards compatibility, but it is no longer used.
*Fix: Fine Offset with solar logger reading, now limited to the reduced number of logger entries available on solar stations.
*Fix: Fix for Slovenian locale (and any other with a two character date separator)
== 3046 - January 2, 2019 ==
*Weather Diary
**Added Weather Diary page to management interface
**Added diary.db file to daily backup files
**Removed diary.db from distribution (it is created on first use to avoid overwriting the file on CMX distro updates)
*Web Tags
**Added <#snowdepth> tag processing
*ET annual roll-over fix
*Fix to TLS 1.2 FTPS of the 'periodic' files
== 3047 - February 2, 2019 ==
*Web token parser updated to cope with html tag characters "<>" in the format string.
**You can now do things like...
:::<#TapptempH format="dd' 'MMM' 'yyyy' at 'HH:mm''">
:::which gives...
:::04 Dec 2018 at 10:12
:::Note: that you have to use single quotes for HTML entity names, and they have to be escaped "\'"
*New Davis Baud Rate setting
**Allows you to alter the speed of the serial connection to Davis loggers
**Configured manually in Cumulus.ini [Station] section
:::DavisBaudRate=19200 (default) Permitted values are 1200, 2400, 4800, 9600, 14400, 19200
*Added new option for the "Extra files" - End of Day
**Enabling this means that file will only be processed/copied/FTPed once a day during the end of day roll-over.
**There is a new Cumulus.ini file setting for each "extra" file associated with this setting
**Note there is currently no check between Realtime and End of Day settings, you could check both options and the file will be processed at both the realtime interval AND end of day - which would not make much sense!
:::ExtraEOD[nn]
*Improvement to Instromet logger protocol handling
*Change the Fine Offset Synchronised Reads option to default to enabled
*Change VP2 automatic disabling of LOOP2 to an advisory message, as the firmware version is not always detected.
*Consistency: All record Value tags should now return '---' and Date tags '----' until they are first set.
*The following web tags now support the "dp=N" "rc=y" parameters for the number of decimal places, and replace decimal commas with points.
::<#MoonPercent>
::<#MoonPercentAbs>
::<#MoonAge>
*Fix for Fine Offset & WMR100/200 stations on Mac operating systems (introduced in b3044)
*Fix for invalid (extremely high) pressure readings from Fine Offset stations (thanks to 79669weather)
*Fix to not updating the Instromet loggers memory pointer correctly
*Fixed Weather Diary Time Zone issues
*Bug fixes and performance improvements to the FTP component
*Updated files
::\CumulusMX.exe
::\CumulusMX.exe.config
::\CumulusMX.pub
::\FluentFTP.dll
::\HidSharp.dll
::\interface\js\diaryeditor.js
::\interface\json\StationOptions.json
*Removed files
::\fastJSON.dll
== 3048 - March 2, 2019 ==
*You can now first time enable/disable Realtime FTP without having to restart CMX
*Instromet stations now record and report rainfall (mm) and sunshine hours to 2 decimal places
*Improved realtime FTP error handling
*Improved Davis protocol handling
*Fix Davis protocol mixing up LOOP1 and LOOP2 packets and consequently providing invalid rain and wind data.
*Fix web tag <#YearLowDailyTempRangeD> broken in b3047
*Bug fixes to FTP Component, and internal changes to FTP transfer mechanism
*Updated files
::\CumulusMX.exe
::\FluentFTP.dll
== 3049 - April 24, 2019 ==
*Adds the ability to upload data to Windy.com
*Updated files
::\CumulusMX.exe
::\interface\json\InternetOptions.json
::\interface\json\InternetSchema.json
== 3050 - 3.0.0 - May 1, 2019 ==
The first release not designated as Beta.
*Fixes MX not working with locales that use two character date separators
 Eg. Croatia "29. 04. 19"
*Updated files
::\CumulusMX.exe
== 3051 - 3.0.1 - September 10, 2019 ==
*Increases Davis DMPAFT Date/Time command timeout
*Much improved Davis serial port throughput (for USB and Serial loggers), should decrease the historic logger download time
*Adds Davis archive data processing progress indication
*Fixes firmware check for LOOP2 support
*Fixes a race condition on start-up of Davis VP2 stations without a logger. This could cause a crash in AstroLib.SolarMax()
*Fixes reading the Davis console clock after setting the time
*Updated files
::\CumulusMX.exe
== 3052 - 3.0.2 - September 13, 2019 ==
*Fixes Davis archive downloads from the the logger when the day rollover processing takes longer than 10 seconds.
 This can happen on slow processors - Pi Zero for example - or if lengthy procedures are included
*An extra archive processing run is scheduled for each day rollover that takes longer than 10 seconds
*Updated files
::\CumulusMX.exe
::\CumulusMX.exe.config